top of page

Expresiones Lambda y filter

Lambda

Es una forma corta de declarar funciones pequeñas, también se conocen como funciones anónimas, porque carecen de nombre., a diferencia de una función, no la definimos con def.


Se comporta como funciones normales (def), puede contener una sola expresión.


Veamos un ejemplo simple, creamos una variable, ponemos el signo igual, ponemos lambda, seguido de una variable, ponemos dos puntos y la operación a realizar.

ree

En la siguiente línea, imprimimos la variable valor, y, pasamos el valor de 5.

ree

Nos devuelve 10.


Creando una función, serían las siguientes líneas:

ree

Obtenemos el mismo resultado, nos hemos ahorrado una línea.


Lo siguiente es ver la función FILTER, que podemos usar con la expresión LAMBDA, la función filter devuelve una colección con los elementos filtrados que cumplen con una condición.


La función filter tiene dos argumentos, el primero de ellos, es función, que es una función que se ejecuta para cada elemento, e, iterable, que es la secuencia por la que debe filtrarse.


Un iterador son métodos que iteran colecciones como listas, tuplas, etc., usando un iterador podemos recorrer un objeto y devolver sus elementos.


La función filter() se usa normalmente con funciones Lambda.


Veamos un ejemplo de lambda, y, de filter.


Creamos la siguiente lista:

ree

Creamos una variable, ponemos el signo igual, ponemos filter, abrimos paréntesis, como argumento función, ponemos lambda, declaramos una variable, ponemos dos puntos, vamos a calcular el resto de dividir cada valor de la lista, igualamos a desigual a 0, como argumento iterador, ponemos la variable lista.

ree

La variable “x” va a valer cada valor de la variable lista, dividirá entre 2, y, devolverá el resto.


Imprimimos la variable resultado como una lista.

ree

Ejecutamos, y, obtenemos los números impares.

ree

Lambda, solo realiza una única operación aritmética.


Veamos otro ejemplo, tenemos una lista con una serie de frutas.

ree

Queremos imprimir las frutas que comienzan con la letra “a”.


Ponemos print, abrimos paréntesis, ponemos list, para que devuelva una lista, abrimos paréntesis, ponemos filter, abrimos paréntesis, ponemos lambda, declaramos una variable, ponemos dos puntos, tomamos el primer carácter de la variable “x”, ponemos punto, ponemos lower, para que pase mayúscula a minúscula, ponemos in, entre comillas dobles, o, simples, ponemos la vocal “a”, ponemos coma, como argumento iterador, ponemos la variable lista.


Es decir, va a tomar la primera letra de cada valor de la variable lista, y, va a ver si es una letra “a”.

ree

Ejecutamos, y, nos devuelve:

ree

Podemos usar el argumento none dentro de filter, este argumento considera falso cualquier longitud que sea igual a 0, como una lista o cadena vacía, o, número que sea igual a 0.


Veamos un ejemplo, tenemos las siguientes líneas:

ree

Vemos que el primer argumento de filter es none, verificaremos si los elementos de nuestra lista se consideran falsos.


Al ejecutar muestra solo los números enteros, los evaluados como false, no aparecen.



Miguel Angel Franco

 
 
 

Comentarios


© 2019 Miguel Ángel Franco García

bottom of page