Подтвердить что ты не робот

Почему я не могу присоединиться к этому кортежу в Python?

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

Мне нужно присоединиться к нему, чтобы я мог записать его в текстовый файл.

4b9b3361

Ответ 1

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'

Ответ 2

join() работает только со строками, а не целыми числами. Используйте ','.join(str(i) for i in e).

Ответ 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

Ответ 4

Возможно, вам лучше просто преобразовать кортеж в список:

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