为什么我不能在Python中连接这个元组?

63 投票
4 回答
76184 浏览
提问于 2025-04-15 16:29
e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))

我需要把它合并起来,这样才能把它写入一个文本文件。

4 个回答

3

使用csv模块。这样可以避免后面再问如何处理包含逗号的项目,以及如何处理你用来引用或转义逗号的字符的问题。

import csv
e = ('ham', 5, 1, 'bird')
with open('out.csv', 'wb') as f:
    csv.writer(f).writerow(e)

检查一下:

print open('out.csv').read()

输出结果:

ham,5,1,bird
12

join() 这个方法只能用在字符串上,不能直接用在整数上。如果你想把一些整数连接成一个字符串,可以这样做:','.join(str(i) for i in e)。这段代码的意思是,把列表中的每个整数先转换成字符串,然后用逗号把它们连接起来。

137

join 这个方法只能处理字符串的列表,所以你得先把其他类型的数据转换成字符串

>>> e = ('ham', 5, 1, 'bird')
>>> ','.join(map(str,e))
'ham,5,1,bird'

或者可以用更符合 Python 风格的方法

>>> ','.join(str(i) for i in e)
'ham,5,1,bird'

撰写回答