Запись в файлы (Python)
Скажем, у меня есть список, отформатированный примерно так:a = [a,2,b,3,c,4,d,3], и я хочу записать в любой файл, который позволяет создавать верхние индексы, например:
а ^2
б ^3
с ^4
и так далее. Какими возможными способами это можно сделать (индексы должны быть правильно отформатированы, как и реальные индексы)?
3 ответа
Так просто, как это:
files=open('write.txt','a')
a = ['a','2','b','3','c','4','d','3']
count=0
while count<len(a):
files.write(a[count]+'^'+a[count+1]+'\n')
count=count+2
По сути, это просто открытие файла, а затем объединение последовательных элементов с ^
а затем соединить все это с разрывом строки. Наконец это записывается в файл, и файл закрывается:
with open('filename.txt', 'w') as file:
it = iter(a)
file.write('\n'.join('^'.join([first, str(second)]) for first, second in zip(it, it)))
Если вы не хотите использовать какие-либо объединения и понимания, вы также можете использовать форматирование:
with open('filename.txt', 'w') as file:
template = '{}^{}\n' * (len(a) // 2)
formatted = template.format(*a)
file.write(formatted)
Вот простой способ сделать это. Замените заявление на печать своим письмом, и вы будете в хорошей форме.
Сначала подготовьте свой список, разделив его на 2 части:
a = ['a',2,'b',3,'c',4,'d',3]
first = a[0::2]
second = a[1::2]
Затем зациклите первый список с перечислением и добавьте второе значение:
for i, f in enumerate(first):
super = '%s^%s' % (f, second[i])
print(super) # replace with write function
Вывод выглядит так:
а ^ 2
б ^3
с ^4
д ^3
Это должно быть проще!