这是关于最佳编码实践的问题。假设我必须填充未知长度的列表;通常我只是使用myList = []
初始化列表,但我觉得这样做很糟糕。我经常最终看到像这样的代码:
list1 = []
list2 = []
list3 = []
for a,b,c in zip(x,y,z):
list1.append(a)
list2.append(b)
list3.append(c)
我在示例中意识到您可以将此列表初始化为正确的长度,实际上您可以按原样使用x,y,z
。我的问题是关于你不一定知道列表长度的情况。在我看来,必须使用三行来初始化这个列表是笨重的;你们这是什么东西?感谢您的任何意见!
答案 0 :(得分:2)
不需要任何聪明的事情:
%%capture var2
%run -I script2
import sys
orig_stdout = sys.stdout
f = file('out5.txt', 'w')
sys.stdout = f
print var2
stdout = orig_stdout
f.close()
答案 1 :(得分:1)
使用列表清单:
lol = [[], [], []]
for items in zip(x, y, z):
for i, item in enumerate(items):
lol[i].append(item)