Python записывает список в текстовый файл

55
7

Я использую метод format python для записи списка чисел в текстовый файл. Когда длина списка фиксирована, я могу сделать:

a = [16,1,16,1]
myfile.write('{0},{1},{2},{3}'.format(*a) + "\n")

Мой вопрос заключается в том, как использовать метод format, когда размер списка не фиксирован. Есть ли простой способ сделать это? Вместо того, чтобы сначала создать строку b, а затем сопоставить a с b. Я не уверен, могу ли я использовать что-то вроде myfile.write('{all elements in a}'.format(*a) + "\n")

b=''
for i in range(len(a)):
if i<(len(a)-1):
b=b+'{'+ str(i) + '},'
else:
b=b+'{'+ str(i) + '}'

myfile.write(b.format(*a) + "\n")

спросил(а) 2013-11-06T22:17:00+04:00 6 лет, 7 месяцев назад
1
Решение
67

Использовать str.join:

>>> lis = [16,1,16,1]
>>> ','.join(str(x) for x in lis) + '\n'
'16,1,16,1\n'
>>> lis = range(10)
>>> ','.join(str(x) for x in lis) + '\n'
'0,1,2,3,4,5,6,7,8,9\n'

ответил(а) 2013-11-06T22:19:00+04:00 6 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема