Sobes.tech
Junior

¿Qué es una expresión lambda en Python?

sobes.tech AI

Respuesta de la IA

La expresión lambda en Python es una función anónima definida usando la palabra clave lambda. Tiene una sintaxis sencilla: lambda arguments: expression.

Características principales:

  • Anónima: No tiene nombre.
  • En una sola línea: Debe estar en una sola línea de código.
  • Una sola expresión: Puede contener solo una expresión, cuyo resultado se devuelve.
  • Puede aceptar cualquier número de argumentos: Pero solo una expresión.

Ejemplos de uso:

# Función lambda simple para duplicar un número
double = lambda x: x * 2
# Uso:
# print(double(5)) # Imprime 10

# Función lambda con varios argumentos
add = lambda a, b: a + b
# Uso:
# print(add(3, 7)) # Imprime 10

# Uso de lambda con funciones de orden superior
# Por ejemplo, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Imprime [2, 4, 6]

# Uso de lambda con map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Imprime [1, 4, 9, 16, 25, 36]

# Uso de lambda como argumento para la clave en sorted()
data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Imprime la lista ordenada por edad

Las expresiones lambda son útiles para funciones pequeñas y de uso único, a menudo utilizadas en combinación con funciones de orden superior (map, filter, sorted). Sin embargo, para tareas más complejas o funciones que requieren documentación (docstrings), se recomienda usar funciones normales definidas con def.