17 Generators 4pp
17 Generators 4pp
>>> t = plus_minus(3)
>>> next(t)
3
>>> next(t)
Generators -3
>>> t
<generator object plus_minus ...>
(Demo)
4
Generator Functions can Yield from Iterables
A yield from statement yields all values from an iterator or iterable (Python 3.3)
>>> list(countdown(5))
[5, 4, 3, 2, 1]
def countdown(k):
if k > 0:
yield k
yield from countdown(k-1)
(Demo)
6
Yielding Partitions
partitions(6, 4)
(Demo)
8