Casos de Uso Prácticos y Ejemplos
Ordenando una Lista de Diccionarios
Supongamos que tienes una lista de diccionarios que representan datos de empleados, y quieres ordenar la lista según la edad del empleado.
employees = [
{"name": "Alice", "age": 30, "salary": 50000},
{"name": "Bob", "age": 25, "salary": 45000},
{"name": "Charlie", "age": 35, "salary": 55000},
{"name": "David", "age": 28, "salary": 48000}
]
sorted_employees = sorted(employees, key=lambda x: x["age"])
print(sorted_employees)
Salida:
[{'name': 'Bob', 'age': 25,'salary': 45000},
{'name': 'David', 'age': 28,'salary': 48000},
{'name': 'Alice', 'age': 30,'salary': 50000},
{'name': 'Charlie', 'age': 35,'salary': 55000}]
Filtrando una Lista de Cadenas por Longitud
Tienes una lista de cadenas y quieres filtrar las cadenas que son más largas que una cierta longitud.
words = ["apple", "banana", "cherry", "date", "elderberry", "fig"]
short_words = list(filter(lambda x: len(x) <= 5, words))
print(short_words)
Salida:
['apple', 'banana', 'date', 'fig']
Tienes una lista de números y quieres crear una nueva lista donde cada número se multiplica por 2.
numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)
Salida:
[2, 4, 6, 8, 10]
Combinando Lambda con Comprensión de Listas
Puedes usar funciones lambda en combinación con las comprensiones de listas para crear transformaciones más complejas.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
doubled_even_numbers = [x * 2 for x in filter(lambda x: x % 2 == 0, numbers)]
print(doubled_even_numbers)
Salida:
[4, 8, 12, 16, 20]
Estos ejemplos demuestran la versatilidad de las funciones lambda al trabajar con listas y cómo pueden simplificar las operaciones comunes de listas. Al entender y aplicar las funciones lambda, puedes escribir código Python más conciso y expresivo.