Fonctions Python Lambda : Guide des fonctions anonymes
Apprenez à écrire des fonctions lambda anonymes en Python. Maîtrisez les modèles de programmation fonctionnelle à l'aide de map(), filter() et sorted() avec la syntaxe lambda.
Aperçu
En Python, les fonctions lambda, également appelées fonctions anonymes, sont de petites fonctions rapides sur une seule ligne qui ne nécessitent pas le mot-clé standard « def » ni un nom formel. Ils sont destinés à une utilisation temporaire et rapide, vous permettant de transmettre la logique fonctionnelle comme argument directement en ligne. Cela rend votre code plus compact, réduisant ainsi la surcharge liée à l'écriture de fonctions d'assistance à part entière qui ne sont appelées qu'à un seul endroit.
La syntaxe d'une fonction lambda est simple : `arguments lambda : expression`. Contrairement aux fonctions standard, un lambda n'a pas d'instruction « return » explicite ; l'expression est évaluée et renvoyée automatiquement. De plus, les fonctions lambda sont limitées à une seule expression, ce qui signifie que vous ne pouvez pas y écrire de boucles, d'affectations ou de blocs de conditions multilignes complexes, ce qui impose une approche propre et fonctionnelle.
Les fonctions Lambda sont couramment utilisées en combinaison avec des fonctions intégrées d'ordre supérieur telles que `map()` (qui applique une fonction à chaque élément d'une liste), `filter()` (qui conserve les éléments correspondant à une condition) et `sorted()` (qui trie les éléments à l'aide d'une clé de tri personnalisée). Par exemple, trier une liste de dictionnaires par une clé de dictionnaire spécifique est un jeu d'enfant lorsque l'on utilise un lambda comme clé de tri. Comprendre les fonctions lambda vous donne un outil essentiel pour écrire du code Python propre.
Sortie de code et d'exécution
Tri de listes de dictionnaires complexes et filtrage d'ensembles de données à l'aide de fonctions anonymes en ligne.
# Sorting using lambda
students = [
{"name": "Alice", "grade": 88},
{"name": "Bob", "grade": 95},
{"name": "Charlie", "grade": 90}
]
# Sort students by grade (descending)
sorted_students = sorted(students, key=lambda s: s["grade"], reverse=True)
print("Sorted students by grade:")
for student in sorted_students:
print(f"- {student['name']}: {student['grade']}")
# Filtering using lambda
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
odd_numbers = list(filter(lambda x: x % 2 != 0, numbers))
print(f"\nOdd numbers: {odd_numbers}")Sorted students by grade:
- Bob: 95
- Charlie: 90
- Alice: 88
Odd numbers: [1, 3, 5, 7]Mise en œuvre étape par étape
- Passer des critères de tri personnalisés à list.sort() et sorted()
- Application de transformations en ligne dans les pipelines de science des données
- Définir des rappels rapides dans les applications d'interface utilisateur basées sur des événements
Foire aux questions
Une fonction lambda peut-elle prendre plusieurs arguments ?
Oui, vous pouvez définir plusieurs arguments séparés par des virgules, par exemple lambda x, y : x + y.
Pourquoi les fonctions lambda sont-elles appelées anonymes ?
Parce qu'ils sont créés sans liaison de nom, contrairement aux fonctions def qui enregistrent un nom spécifique dans l'espace de noms local.
Sujets connexes
Maîtrisez les fonctions Python. Apprenez à écrire du code réutilisable à l'aide de def, à définir des arguments, à renvoyer des valeurs et à comprendre la portée localement et globalement.
Compréhensions PythonÉcrivez du Python plus propre et plus rapide. Liste principale, dictionnaire et compréhensions d'ensembles avec des exemples pratiques, des conditions de filtrage et des boucles imbriquées.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Comment utiliser les fonctions Lambda en Python
Apprenez à utiliser les fonctions lambda en Python. Maîtrisez les fonctions anonymes, les rappels en ligne et le tri des données de liste avec des clés lambda.
Aide-mémoire sur les méthodes de chaîne Python
Un guide de référence complet pour la manipulation des chaînes Python. Maîtrisez le formatage, la recherche, le fractionnement, le remplacement et la vérification des propriétés des chaînes.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.