在Python中初始化动态列表的最简洁方法是什么?

时间:2016-10-14 17:11:11

标签: python

这是关于最佳编码实践的问题。假设我必须填充未知长度的列表;通常我只是使用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。我的问题是关于你不一定知道列表长度的情况。在我看来,必须使用三行来初始化这个列表是笨重的;你们这是什么东西?感谢您的任何意见!

2 个答案:

答案 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)