Fonctions Lambda
Glissez pour afficher le menu
Les fonctions lambda sont une fonctionnalité essentielle de Python qui permettent de créer de petites fonctions anonymes à l'aide d'une syntaxe concise. L'objectif principal d'une fonction lambda est de définir une fonction en une seule ligne, généralement pour des cas d'utilisation courts et ponctuels où une définition complète de fonction avec def serait inutilement verbeuse.
Les fonctions lambda sont le plus souvent utilisées en combinaison avec des fonctions d'ordre supérieur telles que map, filter et sorted, lorsque vous devez passer une fonction en argument sans vouloir définir une fonction complète ailleurs dans votre code.
Une fonction lambda peut prendre un nombre quelconque d'arguments mais doit contenir une seule expression. Le résultat de cette expression est automatiquement renvoyé. Bien que les fonctions lambda soient utiles pour créer rapidement des fonctions jetables, elles présentent des limitations : elles ne peuvent pas contenir plusieurs instructions, d'affectations ou de logique complexe, et elles sont moins lisibles si elles sont trop utilisées. En raison de ces contraintes, il est recommandé d'utiliser les fonctions lambda pour des tâches simples et de privilégier les fonctions classiques pour des opérations plus complexes.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
Le code ci-dessus utilise une fonction lambda avec la fonction d'ordre supérieur map pour élever au carré chaque nombre de la liste numbers. L'expression lambda x: x ** 2 définit une fonction anonyme qui prend un seul argument x et retourne son carré. Cette méthode permet d'appliquer rapidement une opération simple à chaque élément d'une liste sans définir une fonction nommée séparée, rendant le code plus concis et ciblé lorsque la fonction n'est utilisée qu'une seule fois.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
Cet exemple utilise une fonction lambda avec filter pour extraire uniquement les nombres pairs de la liste numbers. L'utilisation d'une fonction lambda ici rend la logique de filtrage concise et lisible, surtout lorsque vous avez seulement besoin d'effectuer une vérification simple sans créer une fonction nommée séparée.
1. Quelle est la principale différence entre une fonction lambda et une fonction classique ?
2. Quand faut-il utiliser une fonction lambda plutôt que def ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion