Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonctions Lambda | Récursivité et Fonctions Lambda
Tutoriel sur les Fonctions Python
Section 5. Chapitre 4
single

single

bookFonctions 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
copy

Logique conditionnelle dans les fonctions lambda

Vous pouvez utiliser une expression ternaire pour ajouter une logique conditionnelle à l'intérieur d'une lambda :

123
is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
copy

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() :

123456789
prices = [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]
copy

Il est également possible d'utiliser max() dans une lambda pour gérer les cas particuliers directement dans l'expression :

123
safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
copy
lambda
Note
Remarque

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.

Tâche

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.

  1. Définir une expression lambda en utilisant le mot-clé lambda.
  2. L'expression lambda doit prendre un seul paramètre (price).
  3. Si le price est négatif, le considérer comme invalide et retourner 0 en utilisant directement la fonction max() dans l'expression lambda.
  4. La lambda doit d'abord vérifier le prix puis déduire 13% du montant valide.
  5. Utiliser une compréhension de liste pour appliquer apply_tax à chaque élément de prices.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 4
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt