[pyar] [Consulta] Comprensión de listas y Generadores

Apokalyptica Painkiller apokalyptica79 en gmail.com
Sab Jun 22 01:09:33 ART 2013


Buenísimo Roberto, gracias, anotado.


El 22 de junio de 2013 00:06, Roberto Alsina
<ralsina en netmanagers.com.ar>escribió:

> On 21/06/13 23:22, Apokalyptica Painkiller wrote:
> > Buenas gente, les vuelvo a molestar con mis preguntas.
> >
> > En qué caso utilizaría comprensión y porqué y lo mismo para generadores.
> >
>
> Listas por comprensión:
>
> 1) Cuando la alternativa es escribir un loop DE POQUITAS LINEAS que crea
> una lista.
>
> Ejemplo tonto:
>
> l=[]
> for x in range(10):
>     l.append(x**2)
>
> Es peor que
>
> l = [x**2 for x in range(10)]
>
> 2) Cuando querés filtrar una lista, porque es más lindo que filter()
>
> pares = [x for x in range(100) if x%2 == 0]
>
> es mejor que
>
> pares=filter(lambda x: not x%2, range(100))
>
> Cuando *no* está bueno usarlas?
>
> 1) Cuando no querés la lista de resultado:
>
> [os.system(cmd) for cmd in comandos]
>
> Es peor que
>
> for cmd in comandos: os.system(cmd)  # Si, en una sola línea, y qué.
>
> 2) Cuando lo de adentro es complicado. Rápido, que hace esto?
>
> l = [[x**2 for x in range(1, z**2)] for z in [random.randint(1,10) for x
> in range(100)]]
>
> _______________________________________________
> 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
>



-- 
I live each day
Like it's my last
I live for rock and roll
I never look back

I'm a rocker
Do as I feel as I say
I'm a rocker
And no one can take that away
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130622/c87980d2/attachment.html>


More information about the pyar mailing list