List comprehension
Компактно создаёт список из выражения с циклом и необязательным условием.
Сигнатура
[expr for item in iterable if cond]Генератор списка (list comprehension) формирует новый список, применяя expr к каждому элементу iterable. Необязательное условие if фильтрует элементы. Можно использовать вложенные циклы.
squares = [x * x for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
pairs = [(i, j) for i in range(2) for j in range(2)]
print(pairs) # [(0, 0), (0, 1), (1, 0), (1, 1)]