Puedes ejecutar cualquier ejemplo de esta guía directamente en nuestra consola interactiva: Abrir consola de Python →
Funciones lambda en Python: funciones anónimas y expresiones compactas
Las funciones lambda son funciones anónimas y rápidas que se escriben en una sola línea. Se usan mucho en programación funcional, filtrado de datos y operaciones con listas.
Tabla de contenidos
1. ¿Qué es una función lambda?
Una función lambda es una función anónima que se define sin nombre y en una sola línea.
lambda x: x * 2
2. Sintaxis
lambda argumentos: expresión
Ejemplo:
doblar = lambda x: x * 2
print(doblar(5))
3. Ejemplos básicos
suma = lambda a, b: a + b
print(suma(3, 7))
mayor = lambda x, y: x if x > y else y
print(mayor(10, 4))
4. Uso con map() y filter()
map()
numeros = [1, 2, 3, 4]
doblados = list(map(lambda x: x * 2, numeros))
print(doblados)
filter()
pares = list(filter(lambda x: x % 2 == 0, numeros))
print(pares)
5. Uso para ordenar listas
personas = [("Ana", 25), ("Luis", 30), ("Iokelu", 20)]
ordenadas = sorted(personas, key=lambda p: p[1])
print(ordenadas)
6. Ejercicios
- Crear una lambda que multiplique por 3.
- Crear una lambda que devuelva el mayor de dos números.
- Usar map() con lambda.
- Usar filter() con lambda.
- Ordenar una lista usando lambda.
lambda x: x * 3
lambda a, b: a if a > b else b
list(map(lambda x: x * 2, [1,2,3]))
list(filter(lambda x: x > 5, [2,6,8]))
sorted([3,1,2], key=lambda x: x)
7. Mini‑proyecto: Procesador de datos
datos = ["python", "curso", "web", "avanzado"]
procesados = list(map(lambda x: x.upper(), datos))
filtrados = list(filter(lambda x: len(x) > 4, procesados))
print(filtrados)
8. Preguntas frecuentes
¿Las lambdas reemplazan funciones normales?
No, solo sirven para funciones pequeñas y rápidas.
¿Puedo usar varias líneas dentro de una lambda?
No, solo una expresión.