@evgeh4ik

Как сделать построчный вывод python?

Привет!
Есть задача:
Пусть задан список, содержащий строки.
Выведите построчно все строки размером от 5 до 10 символов.

Код у меня такой:
text = "'Hockey','Basketball','Auto','Lezy','Soccer','Sverxderzhava'"
print([e for e in eval('('+text+')') if len(e)>=5 and len(e)<10])


Результат:
['Hockey', 'Soccer']

Не могу понять, куда корректно добавить '\n', что бы вывод каждого слова был построчным.
  • Вопрос задан
  • 4934 просмотра
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Так - что-ли?:
import json
for im in json.loads(f'[{text}]'.replace('\'', '"')):
   if len(im)>5 and len(im)<10:
      print(im)


либо так:

import ast
for im in filter(lambda x: len(x)>5 and len(x)<10, ast.literal_eval(text)):
    print(im)


Вывод:
Hockey
Soccer
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Rioran
Excel & VBA senior
До кучи предлагаю альтернативный вариант без циклов.
text = "'Hockey','Basketball','Auto','Lezy','Soccer','Sverxderzhava'"
array = text.replace("'", "").split(",")
array = list(filter(lambda x: (len(x)>=5) and (len(x)<=10), array))
print("\n".join(array))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы