Lambda en Python
¿Qué es lambda en Python?
En Python, una función lambda es una función anónima que puede ser utilizada en cualquier lugar donde se requiera una función. Las funciones lambda son útiles para crear funciones simples de una sola línea sin tener que definir una función separada con un nombre.
Las funciones lambda se definen utilizando la palabra clave lambda
, seguida de los parámetros de la función y la expresión que se devuelve.
Sintaxis de las funciones lambda
La sintaxis básica para definir una función lambda en Python es la siguiente:
lambda argumentos : expresión
Lenguaje del código: Python (python)
Donde argumentos
son los argumentos de la función y expresión
es la expresión que se devuelve.
Por ejemplo, aquí hay una función lambda que toma dos argumentos y devuelve su suma:
suma = lambda x, y: x + y
Lenguaje del código: Python (python)
Llamando a una función lambda
Para llamar a una función lambda en Python, simplemente escribimos el nombre de la función lambda seguido de los argumentos entre paréntesis:
resultado = suma(2, 3)
print(resultado) # 5
Lenguaje del código: Python (python)
Esto llamará a la función lambda suma
con los argumentos 2
y 3
, y asignará el resultado de la función a la variable resultado
.
Usos de las funciones lambda
Las funciones lambda son útiles en situaciones donde necesitamos definir una función simple de una sola línea sin tener que definir una función separada con un nombre.
Por ejemplo, podemos utilizar una función lambda para ordenar una lista de acuerdo a un criterio específico:
numeros = [3, 5, 1, 2, 4]
ordenado = sorted(numeros, key=lambda x: x % 2)
print(ordenado) # [2, 4, 3, 5, 1]
Lenguaje del código: Python (python)
Aquí estamos utilizando la función sorted() para ordenar una lista de números. La función lambda lambda x: x % 2
se utiliza como clave de ordenamiento, lo que significa que los números se ordenan según el resultado de la expresión x % 2
, que devuelve 0
si el número es par y 1
si el número es impar.
También podemos utilizar funciones lambda en combinación con otras funciones, como map() y filter(), para transformar y filtrar listas:
numeros = [1, 2, 3, 4, 5]
doble = list(map(lambda x: x * 2, numeros))
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(doble) # [2, 4, 6, 8, 10]
print(pares) # [2, 4]
Lenguaje del código: Python (python)
Aquí estamos utilizando la función map() para aplicar la función lambda lambda x: x * 2
a cada elemento de la lista numeros
, y la función filter() para filtrar la lista numeros
utilizando la función lambda lambda x: x % 2 == 0
.