[Python-Dev] PEP 3142: Add a "while" clause to generator expressions

Nick Coghlan ncoghlan at gmail.com
Thu Jan 22 12:42:02 CET 2009


Tino Wildenhain wrote:
>>> g=(i for i in xrange(1000))[2:5]
>>> g.next() # wrapper would now step 2 times w/o yield and 1 with yield
> 2
>>> g.next()
> 3
>>> g.next()
> 4
>>> g.next()
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in <module>
> StopIteration
> 
> as expected - this could be included into itertools for now.

Slicing of arbitrary iterators has been supported by itertools ever
since the module was first added to the standard library.

>>> from itertools import islice
>>> g = islice((i for i in xrange(1000)), 2, 5)
>>> list(g)
[2, 3, 4]

Regards,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------


More information about the Python-Dev mailing list