为什么我不能在Python中加入这个元组?

时间:2009-11-29 11:41:34

标签: python tuples

e = ('ham', 5, 1, 'bird')
logfile.write(','.join(e))

我必须加入它才能将其写入文本文件。

4 个答案:

答案 0 :(得分:110)

join只接受字符串列表,因此请先转换它们

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

或者更多pythonic

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

答案 1 :(得分:11)

join()仅适用于字符串,不适用于整数。使用','.join(str(i) for i in e)

答案 2 :(得分:4)

使用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

答案 3 :(得分:4)

您最好先将元组转换为列表:

e = ('ham', 5, 1, 'bird') liste = list(e) ','.join(liste)