将Python写入的zip文件保存到文本文件中

3
我该如何将 zip 写入文本文件?
x=[a,b,c,d,e]
y=[1,2,3,4,5]

zipped = zip(x,y)

output = open("out.txt","w")
output.write(zipped)
output.close()

我想获得 a1,b2,c3,d4,e5 但是 write() 的参数必须是 str 而不是 zip

3个回答

1
你可以这样写。
x=['a','b','c','d','e']
y=[1,2,3,4,5]
zipped = zip(x,y)
with open('out.txt', 'w') as fp:
     fp.write(''.join('%s%s' % x for x in zipped))

1
这将为您提供所需的输出:
result = ','.join([ a+str(b) for (a,b) in zipped ])
它将字母和数字连接成一个字符串,然后使用逗号分隔字符串进行连接。
如果您只想从 zip 创建字符串:
result = ''.join(map(str, zipped))
它会创建每个压缩元素的字符串,然后将它们连接在一起。

0
如果您使用的是现代版本的Python,您可以使用f-string。
>>> ','.join(f'{i}{j}' for i, j in zip('abcde', range(1,6)))
'a1,b2,c3,d4,e5'

在旧版本中,可以使用 format

>>> ','.join('{}{}'.format(*p) for p in zip('abcde', range(1,6)))
'a1,b2,c3,d4,e5'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接