single
Funciones Lambda
Desliza para mostrar el menú
Las funciones lambda son funciones anónimas, lo que significa que no tienen nombre. Se crean utilizando la palabra clave lambda y suelen emplearse para definir funciones cortas donde se puede especificar una función en el momento.
La sintaxis básica de una función lambda es la siguiente:
lambda arguments: expression
lambda: palabra clave que indica el inicio de la definición de una función lambda;arguments: lista de argumentos que recibe la función;expression: expresión que se ejecuta cuando se llama a la función. El resultado de la expresión se devuelve como valor de la función.
La característica principal de las funciones lambda es su sintaxis concisa. Son convenientes cuando se necesita definir una función simple sin escribir mucho código.
Argumentos únicos y múltiples
Una función lambda puede recibir uno o más argumentos:
1234567# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
Lógica condicional en funciones lambda
Se puede utilizar una expresión ternaria para agregar lógica condicional dentro de una lambda:
123is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
Uso de lambda con funciones integradas
Un caso de uso común es combinar funciones lambda con funciones integradas como map() y filter():
123456789prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
También puedes usar max() dentro de una lambda para manejar casos límite directamente en la expresión:
123safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
Las funciones lambda son más adecuadas para lógica corta de una sola expresión. Si tu función requiere varias líneas o lógica compleja, una función regular def es una mejor opción.
Desliza para comenzar a programar
Existe una lista de precios (prices), y se debe implementar una expresión lambda que tome un precio como parámetro y descuente el 13% de impuesto de este.
- Definir una expresión lambda utilizando la palabra clave
lambda. - La expresión lambda debe recibir un parámetro (
price). - Si el
pricees negativo, se considera inválido y debe retornar 0 utilizando la funciónmax()directamente dentro de la expresión lambda. - La lambda debe verificar primero el precio y luego descontar el 13% del monto válido.
- Utilizar una comprensión de listas para aplicar
apply_taxa cada elemento enprices.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla