Una función lambda es una función anónima pequeña que retorna un objecto, que es usualmente asignada a una variable o forma parte de una función mas grande.

Así como en una función normal se necesita la keyword def, para las funciones lambda necesitamos la keyword lambda.

La funciones lambda son muchas más legibles cuando tenemos que hacer algo pequeño. Son muy usadas cuando usamos map o filter.

Estructura

La estructura de un lambda es el siguiente:

lambda argumentos: expresión

  • lambda: keyword para empezar una función lambda.
  • argumentos: podemos pasarle uno o muchos argumentos separados por comas.
  • expresión: Esta expresión siempre retorna un objeto

Ejemplos

Miremos de unos pequeños ejemplos para que se logre un mejor entendimiento.

Suma

suma = lambda x, y: x + y
valor = suma(2, 7)
print(valor)

Resta

resta = lambda x, y: x - y
valor = resta(5, 1)
print(valor)

Map

primos = [1, 2, 3, 5, 7, 11]
primos_cuadrados = map(lambda n: n*n, primos)
print(primos_cuadraticos)

Filter

numeros = [1, 3, 4, 7, 8]
pares = filter(lambda n: n%2 == 0, numeros)
print(pares)