[pyar] Iterar sobre pares

Juanjo Conti jjconti en gmail.com
Mar Jul 20 10:29:12 ART 2010


El 20 de julio de 2010 15:27, Alejandro J. Cura <alecu en vortech.com.ar>escribió:

> 2010/7/20 Juanjo Conti <jjconti en gmail.com>:
> > Cual es la forma mas elegante de recorrer de a pares una secuencia?
> >
> > Para:
> >
> > seq = range(8)
> >
> > for x in algo(seq)
> >
> > que cada vuelta de la iteracion sobre seq tome los respectivos valores:
> > (0,1), (2,3), (3,4)...
> >
> > Estoy revisando el modulo itertools en busca de la solucion pero no pude
> dar
> > con ella aun http://docs.python.org/library/itertools.html
>
> En la página de itertools, bajo el título "Recipes" hay varias recetas
> útiles:
> http://docs.python.org/library/itertools.html#recipes
>
> La que vos buscás se llama "grouper".
>
> saludos,
>

Es verdad! Gracias!

>>> def grouper(n, iterable, fillvalue=None):
...     "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
...     args = [iter(iterable)] * n
...     return izip_longest(fillvalue=fillvalue, *args)
...
>>>
>>> grouper(2, range(8))
<itertools.izip_longest object at 0xb7780a54>
>>> list(grouper(2, range(8)))
[(0, 1), (2, 3), (4, 5), (6, 7)]

-- 
Juanjo Conti
blog: http://www.juanjoconti.com.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100720/7b389410/attachment.html>


More information about the pyar mailing list