Cas d'utilisation pratiques et exemples
Trier une liste de dictionnaires
Supposons que vous ayez une liste de dictionnaires représentant des données d'employés, et que vous vouliez trier la liste selon l'âge de l'employé.
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)
Sortie :
[{'name': 'Bob', 'age': 25,'salary': 45000},
{'name': 'David', 'age': 28,'salary': 48000},
{'name': 'Alice', 'age': 30,'salary': 50000},
{'name': 'Charlie', 'age': 35,'salary': 55000}]
Filtrer une liste de chaînes de caractères par longueur
Vous avez une liste de chaînes de caractères et vous voulez filtrer les chaînes qui sont plus longues qu'une certaine longueur.
words = ["apple", "banana", "cherry", "date", "elderberry", "fig"]
short_words = list(filter(lambda x: len(x) <= 5, words))
print(short_words)
Sortie :
['apple', 'banana', 'date', 'fig']
Vous avez une liste de nombres et vous voulez créer une nouvelle liste où chaque nombre est multiplié par 2.
numbers = [1, 2, 3, 4, 5]
doubled_numbers = list(map(lambda x: x * 2, numbers))
print(doubled_numbers)
Sortie :
[2, 4, 6, 8, 10]
Combiner des fonctions lambda avec les compréhensions de liste
Vous pouvez utiliser des fonctions lambda en combinaison avec les compréhensions de liste pour créer des transformations plus complexes.
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)
Sortie :
[4, 8, 12, 16, 20]
Ces exemples démontrent la polyvalence des fonctions lambda dans le traitement des listes et comment elles peuvent simplifier les opérations courantes sur les listes. En comprenant et en appliquant les fonctions lambda, vous pouvez écrire du code Python plus concis et expressif.