Python R2


Listas por comprensión en python

Posted in Python por Arturo Elias Antón en 28 agosto 2008
Tags: , ,

Las listas por comprensión, son una forma fácil de definir listas, por medio de una función generadora.
Supongamos que queremos tener una lista con  todos los cuadrados de otra lista ya definida lo que tendríamos que hacer lo que muestra el archivo “listaPorComprension.py”.

#!/usr/bin/env python
# Nombre de Fichero : listaPorComprension.py

l = [1,2,3,4,5,6,9]
lc = [x*x for x in l]

print l
print lc

Miaremos que primero va la expresión generadora, luego  va el recorrido de la lista.

Si juegan con este chiche, que les puede parecer  simple, al final verán su potencial.

Les dejo un ejemplo mas complicado, para mostrar una combinación con otro de los chiches que veremos mas adelanta llamado “funcion lambda”.

#!/usr/bin/env python
# Nombre de Fichero : listaPorComprensionYlambda.py

l = [1,2,3,4,5,6,9]
lc = lambda l : [x*x for x in l]

print l
print lc(l)
print lc(range(3)) # no confundirce ls no
#es una lista es una funcion que devuelve una lista
l.append(100)      # agregamos 100 a la lista l
print lc(l)             # vemos que nos da lc(l)

no es divertido 😉

Anuncios

Una respuesta to 'Listas por comprensión en python'

Subscribe to comments with RSS o TrackBack to 'Listas por comprensión en python'.

  1. Vhspiceros said,

    su es super divertido. lo que me gusta es la cantidad de lineas que te ahorras haciendo.
    en java o en la mayoria de los lenguajes son bastantes lineas mas.


    Atte.
    Victor Hugo Saavedra
    http://vhspiceros.blogspot.com


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: