Funciones Python Lambda: Guía de funciones anónimas
Aprenda a escribir funciones lambda anónimas en Python. Domine los patrones de programación funcional utilizando map(), filter() y sorted() con sintaxis lambda.
Descripción general
En Python, las funciones lambda, también conocidas como funciones anónimas, son funciones pequeñas, rápidas y de una sola línea que no requieren la palabra clave estándar "def" ni un nombre formal. Están pensados para un uso temporal y rápido, lo que le permite pasar lógica funcional como argumento directamente en línea. Esto hace que su código sea más compacto, lo que reduce la sobrecarga de escribir funciones auxiliares completas que solo se llaman en un lugar.
La sintaxis de una función lambda es simple: `argumentos lambda: expresión`. A diferencia de las funciones estándar, una lambda no tiene una declaración de "retorno" explícita; la expresión se evalúa y se devuelve automáticamente. Además, las funciones lambda están restringidas a una sola expresión, lo que significa que no se pueden escribir bucles, asignaciones o bloques de condiciones complejos de varias líneas dentro de ellas, lo que impone un enfoque limpio y funcional.
Las funciones Lambda se usan comúnmente en combinación con funciones integradas de orden superior como `map()` (que aplica una función a cada elemento de una lista), `filter()` (que retiene los elementos que coinciden con una condición) y `sorted()` (que clasifica los elementos usando una clave de clasificación personalizada). Por ejemplo, ordenar una lista de diccionarios por una clave de diccionario específica es muy sencillo cuando se utiliza una lambda como clave de clasificación. Comprender las funciones lambda le brinda una herramienta vital para escribir código Python limpio.
Código y salida de ejecución
Ordenar listas de diccionarios complejas y filtrar conjuntos de datos mediante funciones anónimas en línea.
# Sorting using lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 95},
{"name": "Charlie", "grade": 90}
]
# Sort students by grade (descending)
sorted_students = sorted(students, key=lambda s: s["grade"], reverse=True)
print("Sorted students by grade:")
for student in sorted_students:
print(f"- {student['name']}: {student['grade']}")
# Filtering using lambda
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(f"\nOdd numbers: {odd_numbers}")Sorted students by grade:
- Bob: 95
- Charlie: 90
- Alice: 88
Odd numbers: [1, 3, 5, 7]Implementación paso a paso
- Pasar criterios de clasificación personalizados a list.sort() y sorted()
- Aplicación de transformaciones en línea en procesos de ciencia de datos
- Definición de devoluciones de llamada rápidas en aplicaciones de interfaz de usuario basadas en eventos
Preguntas frecuentes
¿Puede una función lambda tomar múltiples argumentos?
Sí, puede definir varios argumentos separados por comas, por ejemplo, lambda x, y: x + y.
¿Por qué las funciones lambda se llaman anónimas?
Porque se crean sin un enlace de nombre, a diferencia de las funciones def que registran un nombre específico en el espacio de nombres local.
Temas relacionados
Domina las funciones de Python. Aprenda a escribir código reutilizable usando def, definir argumentos, valores de retorno y comprender el alcance a nivel local y global.
Comprensiones de PythonEscribe Python más limpio y rápido. Lista maestra, diccionario y conjuntos por comprensión con ejemplos prácticos, condiciones de filtrado y bucles anidados.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Cómo utilizar funciones Lambda en Python
Aprenda a utilizar funciones lambda en Python. Domine funciones anónimas, devoluciones de llamadas en línea y clasificación de datos de listas con claves lambda.
Hoja de trucos sobre métodos de cadenas de Python
Una guía de referencia completa para la manipulación de cadenas de Python. Domine el formateo, la búsqueda, la división, el reemplazo y la verificación de las propiedades de las cadenas.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.