Как напечатать каждый элемент списка в отдельной строке в питоне
Читаю список из файла и печатаю:
with open('1_lst.txt', 'r') as f:
text = f.read()
print('\n'.join(map(str, text))) # "[1,2,3,4,5]"
Но хочется вывести так:
1
2
3
4
5
Ответы (3 шт):
Автор решения: Zhihar
→ Ссылка
способ 1:
использовать параметр sep в print()
print(*[1, 2, 3, 4, 5], sep='\n')
способ 2:
в лоб через for
for elem in [1, 2, 3, 4, 5]:
print(elem)
из той же серии
[print(elem) for elem in [1, 2, 3, 4, 5]]
Автор решения: CrazyElf
→ Ссылка
Если у вас там именно такой текст в файле:
text = '[1,2,3,4,5]'
То, например, так, отрезав квадратные скобки "вручную":
print('\n'.join(text[1:-1].split(',')))
Или, что более правильно, вот так распарсить текст в питоновский список:
from ast import literal_eval
print('\n'.join(map(str, literal_eval(text))))
Ну или самое правильное - через json, конечно, как eri написал:
import json
print('\n'.join(map(str, json.loads(text)))
или
print('\n'.join(map(str, json.load(f)))
Вывод:
1
2
3
4
5
Автор решения: towerty
→ Ссылка
Используйте цикл for - самый простейший способ:
three = 3
for i in [1, "2", three, True]:
print(i)
Получим следующее:
1
2
3
True