我有两个相同大小的列表,我有兴趣组合这两个列表并将其写入文件.
alist=[1,2,3,5]
blist=[2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
- 结果列表应该像[(1,2),(2,3),(3,4),(5,5)]
之后,我希望将其写入文件.我怎么能做到这一点?
Ben*_*mes 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()
Run Code Online (Sandbox Code Playgroud)
文件中的结果输出将是:
1,2
2,3
3,4
5,5
Run Code Online (Sandbox Code Playgroud)
为了完整起见,我将添加Ben的解决方案,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))
Run Code Online (Sandbox Code Playgroud)
izip可以在此处找到文档.