Funciones lambda en Python: Guía práctica de funciones anónimas
Funciones lambda en Python: Guía práctica de funciones anónimas
Descubra cómo las funciones lambda anónimas de Python pueden simplificar su código. Esta guía explica su propósito, sintaxis y casos de uso reales con ejemplos claros.
Video: Lambda en Python
¿Qué son las funciones lambda en Python?
En Python, una función anónima se define sin nombre. Mientras las funciones regulares usan la palabra clave def, las funciones anónimas se declaran con lambda. Consecuentemente, a menudo se llaman funciones lambda.
Cómo usar funciones lambda en Python
Las funciones lambda siguen una sintaxis concisa:
Sintaxis de función lambda en Python
lambda argumentos: expresión
Pueden aceptar cualquier número de argumentos, pero solo una expresión. La expresión se evalúa y su resultado se devuelve. Como devuelven un objeto función, los lambdas pueden usarse donde se requiera una función.
Ejemplo de función lambda en Python
A continuación se muestra un lambda simple que duplica su entrada:
# Mostrar una función lambda básica
doble = lambda x: x * 2
print(doble(5))
Salida
10
Aquí, lambda x: x * 2 crea una función sin nombre. El argumento x se pasa a la expresión x * 2, que se evalúa y devuelve. El objeto función resultante se asigna a la variable doble, permitiéndole llamarla como función regular. El siguiente equivalente def ilustra la misma lógica:
def doble(x):
return x * 2
Cuándo usar funciones lambda en Python
Las funciones lambda brillan cuando necesita una función rápida y desechable, especialmente como argumento a funciones de orden superior. Comúnmente se emparejan con funciones integradas como filter() y map() para realizar transformaciones concisas.
Ejemplo con filter()
La función filter() aplica un predicado a cada elemento en un iterable, devolviendo solo aquellos que satisfacen la condición. El siguiente ejemplo mantiene solo números pares de una lista:
# Filtrar números pares de una lista
mi_lista = [1, 5, 4, 6, 8, 11, 3, 12]
nueva_lista = list(filter(lambda x: (x % 2 == 0), mi_lista))
print(nueva_lista)
Salida
[4, 6, 8, 12]
Ejemplo con map()
La función map() aplica una transformación a cada elemento, produciendo un nuevo iterable. Aquí duplicamos cada elemento en una lista:
# Duplicar cada elemento usando map()
mi_lista = [1, 5, 4, 6, 8, 11, 3, 12]
nueva_lista = list(map(lambda x: x * 2, mi_lista))
print(nueva_lista)
Salida
[2, 10, 8, 12, 16, 22, 6, 24]
python
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
- Función abs() en Python: calcular valores absolutos para números y complejos
- Función round() en Python explicada con ejemplos prácticos
- Dominando la función range() de Python: desde lo básico a casos avanzados
- Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
- Dominando yield en Python: Generadores vs Return – Guía práctica
- Dominando enumerate() en Python: bucles con índices para listas, tuplas, cadenas y diccionarios