Funciones Lambda
Desliza para mostrar el menú
Las funciones lambda son una característica fundamental de Python que permiten crear funciones pequeñas y anónimas utilizando una sintaxis concisa. El propósito principal de una función lambda es definir una función en una sola línea, generalmente para casos de uso breves y puntuales donde una definición completa de función usando def sería innecesariamente extensa.
Las funciones lambda se utilizan con mayor frecuencia en combinación con funciones de orden superior como map, filter y sorted, donde es necesario pasar una función como argumento pero no se desea definir una función completa en otra parte del código.
Una función lambda puede recibir cualquier cantidad de argumentos, pero debe contener solo una única expresión. El resultado de esta expresión se retorna automáticamente. Aunque las funciones lambda son útiles para crear funciones rápidas y desechables, tienen limitaciones: no pueden contener múltiples sentencias, asignaciones ni lógica compleja, y su legibilidad disminuye si se usan en exceso. Debido a estas restricciones, se recomienda utilizar funciones lambda para tareas simples y preferir funciones regulares para operaciones más complejas.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
El código anterior utiliza una función lambda junto con la función de orden superior map para elevar al cuadrado cada número en la lista numbers. La expresión lambda x: x ** 2 define una función anónima que toma un solo argumento x y devuelve su cuadrado. Este enfoque permite aplicar rápidamente una operación simple a cada elemento de una lista sin definir una función nombrada por separado, haciendo que el código sea más conciso y enfocado cuando solo se necesita la función una vez.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
Este ejemplo utiliza una función lambda con filter para extraer solo los números pares de la lista numbers. Usar una función lambda aquí hace que la lógica de filtrado sea concisa y legible, especialmente cuando solo necesitas realizar una comprobación simple sin crear una función nombrada aparte.
1. ¿Cuál es la principal diferencia entre una función lambda y una función regular?
2. ¿Cuándo deberías usar una función lambda en lugar de def?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla