[pyar] Iterando sobre 2 listas

Francisco Couzo franciscouzo en gmail.com
Mie Abr 4 17:13:35 -03 2018


Podés usar algo como esto:

zip(*[(a, b) for a, b in zip(foo, bar) if a is not None and b is not None])

2018-04-04 17:06 GMT-03:00 Luis Andraschnik <luis.andraschnik en gmail.com>:

> Si tengo 2 listas de igual longitud y quiero recortar eliminando los None
> y manteniendo la paridad de longitud
>
> tengo:
> foo=[1,2,3,4,5,6]
> bar=[100,200,300, None,None]
>
> y quiero esto:
>
> foo=[1,2,3]
> bar=[100,200,300]
>
> Se les ocurre alguna solución más pythónica, por ejemplo usando list
> comprehensions?
>
> def emparejar(foo,bar):
>     foo1=[]
>     bar1=[]
>     for i, j in zip(foo,bar):
>         if j is not None:
>             foo1.append(i)
>             bar1.append(j)
>
>     return foo1, bar1
>
> Saluti
> Luis
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180404/4100453e/attachment.html>


Más información sobre la lista de distribución pyar