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.
En la siguiente línea, imprimimos la variable valor, y, pasamos el valor de 5.
Nos devuelve 10.
Creando una función, serían las siguientes líneas:
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:
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.
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.
Ejecutamos, y, obtenemos los números impares.
Lambda, solo realiza una única operación aritmética.
Veamos otro ejemplo, tenemos una lista con una serie de frutas.
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”.
Ejecutamos, y, nos devuelve:
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:
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