February 2006
Intermediate to advanced
648 pages
14h 53m
English
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 ...