在python中组合2个列表

时间:2009-11-04 10:43:55

标签: python list

我有2个相同大小的列表,我有兴趣将这两个列表合并并将其写入文件。

alist=[1,2,3,5] 
blist=[2,3,4,5] 

- 结果列表应该是这样的     [(1,2),(2,3),(3,4),(5,5)]

之后我希望将其写入文件。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:13)

# combine the lists
zipped = zip(alist, blist)

# write to a file (in append mode)
file = open("filename", 'a') 
for item in zipped:
    file.write("%d, %d\n" % item) 
file.close()

文件中的结果输出为:

 1,2
 2,3
 3,4
 5,5

答案 1 :(得分:6)

为了完整起见,我将Ben's solution添加itertools.izip,如果结果是迭代使用的话,特别适用于较大的列表,因为最终结果不是实际列表而是生成器:

from itertools import izip
zipped = izip(alist, blist)
with open("output.txt", "wt") as f:
    for item in zipped:
        f.write("{0},{1}\n".format(*item))

可以找到izip的文档here