Упрощенный синтаксический способ создания генератора.
Генераторное выражение — это выражения, возвращающие итератор генератора.

Некоторые простые генераторы могут быть записаны в виде генераторных выражений, то есть, с использованием синтаксиса, похожего на синтаксис компановки словаря, но не в кавадратных а в круглых скобках.

    my_generator = (i for i in range(10))

my_generator # < generator object < genexpr > at 0x7f17f0b14e60 >
next(my_generator) # 0
next(my_generator) # 1

Выглядят они как обычные выражения, за которыми следует for in и необязательное условие if.

Такие выражения более компактны, чем полное объявление функции-генератора и менее затратны с точки зрения расхода памяти, чем компановки словарей.

    my_sum = sum(i*i for i in range(10))  # сумма квадратов 0, 1, 4, ... 81
my_sum # 285

На заметку
Скобки могут быть опущены (см. пример выше), если вызывающей функции передаётся только один аргумент.
Синонимы поиска: Generator expression (генераторное выражение), генераторные выражения, genexp
На заметку
Зарегистрированные пользователи могут получать еженедельный дайджест обновлений на сайте.