[pyar] Iterando sobre 2 listas

Luis Andraschnik luis.andraschnik en gmail.com
Mie Abr 4 17:55:38 -03 2018


Mirá vos esa no la sabía!

Le agregué un poco de sal:

foo, bar = zip(*[(a, b) for (a, b) in zip(foo, bar) if *all([a,b])*])

El 4 de abril de 2018, 17:33, Francisco Couzo <franciscouzo en gmail.com>
escribió:

> no hace falta convertir el zip object a una lista, podés destructurarlo
> directamente ya que es un iterador
>
> foo, bar = zip(*[(a, b) for a, b in zip(foo, bar) if a is not None and b
> is not None])
>
> 2018-04-04 17:30 GMT-03:00 Luis Andraschnik <luis.andraschnik en gmail.com>:
>
>> Hola Francisco
>>
>> me parece que después hay que agregarle list y *
>>
>> foo, bar = *list(zip(*[(a, b) for a, b in zip(foo, bar) if a is not None
>> and b is not None]))
>>
>> Ingenioso pero me parece muy difícil de leer (al menos para mí!)
>> Saludos!
>> Luis
>>
>>
>> El 4 de abril de 2018, 17:13, Francisco Couzo <franciscouzo en gmail.com>
>> escribió:
>>
>>> 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
>>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>>
>>
>> _______________________________________________
>> 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
>>
>
>
> _______________________________________________
> 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/5293e2ac/attachment.html>


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