Список одним рядком
Часто список будують за правилом:
squares = [] for i in range(1, 6): squares.append(i * i)
Python дозволяє записати це одним рядком — генератором списку (list comprehension):
squares = [i * i for i in range(1, 6)] # [1, 4, 9, 16, 25]
Читається: «i·i для кожного i з range(1, 6)».
З умовою
evens = [x for x in range(20) if x % 2 == 0] long_words = [w for w in words if len(w) > 5]
Перетворення
names = [n.capitalize() for n in input().split()]
➜ПОРАДА
Генератори — не обов'язкові, звичайний цикл теж працює. Але вони коротші й їх дуже люблять досвідчені програмісти.
Перевір себе: 4 задачі з автоперевіркою
▶ Розв'язувати задачіПідказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.