single
Fonctions Lambda
Glissez pour afficher le menu
Les fonctions lambda sont des fonctions anonymes, c'est-à-dire qu'elles n'ont pas de nom. Elles sont créées à l'aide du mot-clé lambda et sont souvent utilisées pour définir des fonctions courtes que l'on peut spécifier directement sur place.
La syntaxe de base d'une fonction lambda est la suivante :
lambda arguments: expression
lambda: le mot-clé indiquant le début de la définition d'une fonction lambda ;arguments: la liste des arguments que la fonction prend en entrée ;expression: l'expression exécutée lorsque la fonction est appelée. Le résultat de l'expression est renvoyé comme valeur de la fonction.
La principale caractéristique des fonctions lambda est leur syntaxe concise. Elles sont pratiques lorsque l'on souhaite définir une fonction simple sans écrire beaucoup de code.
Argument unique et arguments multiples
Une fonction lambda peut prendre un ou plusieurs arguments :
1234567# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
Logique conditionnelle dans les fonctions lambda
Vous pouvez utiliser une expression ternaire pour ajouter une logique conditionnelle à l'intérieur d'une lambda :
123is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
Utilisation de lambda avec les fonctions intégrées
Un cas d'utilisation courant consiste à combiner les fonctions lambda avec des fonctions intégrées comme map() et filter() :
123456789prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
Il est également possible d'utiliser max() dans une lambda pour gérer les cas particuliers directement dans l'expression :
123safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
Les fonctions lambda conviennent mieux à une logique courte et à une seule expression. Si votre fonction nécessite plusieurs lignes ou une logique complexe, une fonction classique définie avec def est un meilleur choix.
Glissez pour commencer à coder
Il existe une liste de prix (prices), et une expression lambda doit être implémentée pour prendre un prix en paramètre et déduire une taxe de 13% de celui-ci.
- Définir une expression lambda en utilisant le mot-clé
lambda. - L'expression lambda doit prendre un seul paramètre (
price). - Si le
priceest négatif, le considérer comme invalide et retourner 0 en utilisant directement la fonctionmax()dans l'expression lambda. - La lambda doit d'abord vérifier le prix puis déduire 13% du montant valide.
- Utiliser une compréhension de liste pour appliquer
apply_taxà chaque élément deprices.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion