Generator expression (генераторное выражение)
Упрощенный синтаксический способ создания генератора.
Генераторное выражение — это выражения, возвращающие итератор генератора.
Некоторые простые генераторы могут быть записаны в виде генераторных выражений, то есть, с использованием синтаксиса, похожего на синтаксис компановки словаря, но не в кавадратных а в круглых скобках.
Выглядят они как обычные выражения, за которыми следует for in и необязательное условие if.
Такие выражения более компактны, чем полное объявление функции-генератора и менее затратны с точки зрения расхода памяти, чем компановки словарей.
Некоторые простые генераторы могут быть записаны в виде генераторных выражений, то есть, с использованием синтаксиса, похожего на синтаксис компановки словаря, но не в кавадратных а в круглых скобках.
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
На заметку
У нас есть представительство во ВКонтакте. Ссылка в самом низу страницы.