我有2个相同大小的列表,我有兴趣将这两个列表合并并将其写入文件。
alist=[1,2,3,5]
blist=[2,3,4,5]
- 结果列表应该是这样的 [(1,2),(2,3),(3,4),(5,5)]
之后我希望将其写入文件。我怎么能做到这一点?
答案 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。