tutz

¿Qué es una función lambda en Python?

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)