[pyar] Cómo obtenes N elemento de un generador?
Daniel Moisset
dmoisset en machinalis.com
Lun Ago 23 18:32:34 ART 2010
2010/8/23 Juanjo Conti <jjconti en gmail.com>
>
> Les dejo mi intento infructífero; cómo se hace?
>
> >>> def a():
> ... for x in range(10):
> ... yield x
> ...
> >>> a()
> <generator object a at 0xb76c89b4>
> >>> c = a()
> >>> c[0:4]
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: 'generator' object is unsubscriptable
> >>> c.next()
> 0
> >>> c.next()
> 1
> >>> c.next()
> 2
Yo lo escribiría:
>>> def a():
... for x in range(10):
... yield x
...
>>> c = a()
>>> [c.next() for i in xrange(4)]
[0, 1, 2, 3]
No es super legible, pero me parece mas legible/simple que un while y
mmuchas de las con itertools (bueno, islice queda bastante bien)
More information about the pyar
mailing list