Is there a more syntactically concise way of writing the following?
gen = (i for i in xrange(10)) index = 5 for i, v in enumerate(gen): if i is index: return v
It seems almost natural that a generator should have a gen[index]
expression, that acts as a list, but is functionally identical to the above code.
one method would be to use itertools.islice
>>> gen = (x for x in range(10)) >>> index = 5 >>> next(itertools.islice(gen, index, None)) 5
You could do this, using count
as an example generator:
from itertools import islice, count next(islice(count(), n, n+1))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With