[pyar] unzip

fisa fisadev en gmail.com
Jue Mar 7 13:36:59 ART 2013


no lo probé para todos los casos, pero zip mismo creo que te sirve, no?
a = (1, 2, 3)
b = ('a', 'b', 'c')

zip(*zip(a, b)) = [a, b]

El día 7 de marzo de 2013 13:33, Facundo Batista
<facundobatista en gmail.com> escribió:
> ¿Cual es la forma más "pythonica" de implementar unzip, siendo unzip
> lo contrario de zip?
>
> O sea,
>
>     unzip(zip(foo, bar)) == (foo, bar)
>
> Una alternativa, que muestra bien lo que quiero es:
>
> def unzip(data):
>     """The opposite of zip."""
>     alllists = [[] for _ in data[0]]
>     for item in data:
>         for i, val in enumerate(item):
>             alllists[i].append(val)
>     return alllists
>
> Problemas de este código ^:
>
> - Es largo, no vale la pena escribirlo todas las veces
>
> - Arranca todas las listas de cero, cuando realmente ya se sabe cuanto
> ocuparían.
>
> Bueno, les dejo la inquietud
>
> Slds.
>
> PD1: ¿para qué lo quiero? es util para pyplot.plot()
>
> PD2: ¿suena como para una función del módulo itertools?
>
> --
> .    Facundo
>
> Blog: http://www.taniquetil.com.ar/plog/
> PyAr: http://www.python.org/ar/
> Twitter: @facundobatista
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar



--
fisa  -  Juan Pedro Fisanotti



More information about the pyar mailing list