python-funciones-lambda

Qué son y cómo usar funciones lambda en Python

Las funciones lambda, también conocidas como funciones anónimas, son una forma alternativa de definir funciones. A diferencia de las funciones regulares, las funciones lambda no tienen nombre.

En general, son funciones pequeñas, y se emplean en contextos donde se necesita una función de forma temporal. Por ejemplo, en el uso como parámetros de otras funciones.

Más información sobre Funciones lambda leer más ⯈

Funciones Lambda

En Python, las funciones Lambda se definen utilizando la palabra clave lambda seguida de una lista de parámetros, seguida de dos puntos (:) y una expresión.

lambda parametros: expresion

Por ejemplo, podemos definir una función lambda que calcule el cuadrado de un número de la siguiente forma:

suma = lambda x: x * x

Esta función lambda toma un argumento x y retorna el resultado de x * x. Las funciones lambda son especialmente útiles cuando necesitamos pasar una función como argumento a otra función, como veremos a continuación.

Funciones lamba con múltiples argumentos

En este ejemplo, suma es una función lambda que toma dos argumentos x e y y devuelve la suma de ambos.

# Sintaxis: lambda argumentos: expresión
suma = lambda x, y: x + y
print(suma(3, 5))  # Output: 8

Ejemplos

Vamos a ver algunos ejemplos de cómo se utiliza la sintaxis de las funciones lambda en Python:

Suma de dos números

En este ejemplo, definimos una función lambda llamada suma que toma dos argumentos x e y y devuelve su suma.

suma = lambda x, y: x + y
print(suma(3, 5))  # Output: 8

Filtrado de una lista

En este ejemplo, utilizamos una función lambda dentro de la función filter() para filtrar los números pares de una lista.

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares)  # Output: [2, 4, 6, 8, 10]

Mapeo de una lista

En este ejemplo, utilizamos una función lambda dentro de la función map() para calcular el cuadrado de cada número en una lista.

numeros = [1, 2, 3, 4, 5]
cuadrados = list(map(lambda x: x ** 2, numeros))
print(cuadrados)  # Output: [1, 4, 9, 16, 25]

Funciones Lambda vs Funciones Definidas

Las funciones lambda son útiles cuando necesitamos una función rápida para realizar una operación simple. Se suelen utilizar en combinación con funciones de orden superior, como map(), filter(), y reduce().

  • Limitaciones de la Sintaxis: Las funciones lambda están limitadas a una sola expresión y no pueden contener múltiples declaraciones o líneas de código.
  • Legibilidad: Las funciones lambda pueden afectar la legibilidad del código si se utilizan en exceso o en situaciones complicadas.
  • Debugging: Puede ser más difícil depurar funciones lambda en comparación con funciones con nombres explícitos.

En resumen, que son muy útiles para lo que son, pero no las uses tampoco a lo loco 😉