Generator Expressions
A generator expression is an object that performs the same kind of function as a list comprehension. The syntax is the same as for list comprehensions except that you use parentheses instead of square brackets. For example:
(expression for item1 in iterable1
for item2 in iterable2
...
for itemN in iterableN
if condition )
Unlike a list comprehension, a generator expression does not actually create a list or immediately evaluate the expression inside the parentheses. Instead, it creates a generator object that produces the values on demand via iteration. For example:
>>> a = [1, 2, 3, 4] >>> b = (10*i for i in a) >>> b <generator object at 0x590a8> >>> b.next() 10 >>> b.next() 20 ...
The difference between list and generator ...
Get Python: Essential Reference, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.