Check

Ленивые вычисления и генераторные выражения

Python Senior Яндекс
Объясните разницу между списковым включением (`[x*x for x in it]`) и генераторным выражением (`(x*x for x in it)`). В каких случаях второе предпочтительнее?
Ответы
List comprehension vs generator expression
List comprehension сразу создаёт список всех элементов в памяти. Генераторное выражение возвращает генератор, который выдаёт элементы по одному — лениво. Генераторное выражение предпочтительно, когда: - итерируемся один раз; - данные большие; - нам подходит потоковая обработка, например: ```python total = sum(x*x for x in range(10_000_000)) ```