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 | ncogh...@gmail.com | Brisbane, Australia --------------------------------------------------------------- _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com