La Fonctions Lambda En Python

1. A propos de la fonction lumbda

Dont le but de simplifier la syntaxe, Python nous donne la possibilité de ne pas déclarer une fonction de manière standard, c'est-à-dire en utilisant le mot-clé def. A cet effet ce type de fonctions est déclarée à l'aide du mot-clé lambda. Cependant, les fonctions Lambda peuvent accepter n'importe quel nombre d'arguments, mais elles ne peuvent renvoyer qu'une seule valeur sous la forme d'une expression.

2. Syntaxe de la fonction lumbda

La syntaxe pour définir une fonction lumbda est facile à comprendre à traverd un exemple:

Exemple: fonction x --> x + 5

3. Appliquer un filtre à une liste ou un tuple à l'aide d'une fonction lumbda

La fonction lumbda peut aussi être utilisée pour appliquer un filtre à une liste, un tuple ou un dictionnaire...



Exemple filter les éléments pairs d'une miste de nombres

Exemple filtrer les personnes majeurs dans un dictionnaire

4. Tansformer une liste ou un tuple avec la fonction lambda et la fonction map()

La fonction map() en Python accepte une fonction et une liste. Il donne une nouvelle liste qui contient tous les éléments modifiés renvoyés par la fonction pour chaque élément.

Exemple liste des carrées d'une liste de nombre avec les fonctions lumbda et map().

5. Quiz

Exercice 1
Qu'est-ce qu'une fonction lambda en Python ?

a) Une fonction prédéfinie intégrée dans Python.
b) Une fonction anonyme définie en utilisant le mot-clé lambda.
c) Une fonction qui prend un argument de type lambda.

Exercice 2
Comment définissez-vous une fonction lambda en Python ?

a) function = lambda parameters: expression
b) def function(parameters): expression
c) lambda function(parameters): expression

Exercice 3
À quoi sert principalement une fonction lambda ?

a) À définir des fonctions complexes avec plusieurs paramètres.
b) À créer des fonctions simples et ponctuelles sans nom.
c) À effectuer des opérations mathématiques complexes.

Exercice 4
Peut-on utiliser des fonctions lambda pour créer des fonctions récursives ?

a) Oui, car les fonctions lambda sont récursives par défaut.
b) Non, car les fonctions lambda ne peuvent pas appeler d'autres fonctions.
c) Oui, mais cela nécessite une syntaxe spéciale.

Exercice 5
Quelle est la principale différence entre une fonction lambda et une fonction définie avec def ?

a) Les fonctions lambda peuvent avoir un nombre illimité de paramètres.
b) Les fonctions définies avec def peuvent être utilisées comme des fonctions autonomes, tandis que les fonctions lambda sont généralement utilisées pour des opérations simples et ponctuelles.
c) Les fonctions lambda sont plus efficaces en termes de vitesse d'exécution.

Exercice 6
Quelle est la sortie de cette fonction lambda : lambda x: x * 2 lorsque vous l'appelez avec 3 comme argument ?

a) 3
b) 6
c) lambda x: x * 2

Exercice 7
Comment triez-vous une liste de tuples en utilisant le deuxième élément de chaque tuple en utilisant une fonction lambda ?

a) sorted(liste_de_tuples, key=lambda x: x[0])
b) sorted(liste_de_tuples, key=lambda x: x[1])
c) sort(liste_de_tuples, key=lambda x: x[1])

Exercice 8
Quelle est la principale limitation des fonctions lambda en Python ?

a) Elles ne peuvent pas prendre plus d'un paramètre.
b) Elles ne peuvent pas être utilisées avec des fonctions de la bibliothèque standard.
c) Elles ne peuvent pas être stockées dans des variables.

Exercice 9
À quoi sert la fonction map en Python, en relation avec les fonctions lambda ?

a) À trier une liste.
b) À appliquer une fonction lambda à chaque élément d'une séquence et renvoyer un nouvel itérable.
c) À concaténer des chaînes de caractères.

Exercice 10
Quelle est la syntaxe générale pour appeler une fonction lambda en Python ?

a) function_name(parameters)
b) lambda(parameters)
c) (lambda parameters: expression)(arguments)

  1. Réponse 1 : b) Une fonction anonyme définie en utilisant le mot-clé lambda.
  2. Réponse 2 : a) function = lambda parameters: expression
  3. Réponse 3 : b) À créer des fonctions simples et ponctuelles sans nom.
  4. Réponse 4 : b) Non, car les fonctions lambda ne peuvent pas appeler d'autres fonctions.
  5. Réponse 5 : b) Les fonctions définies avec def peuvent être utilisées comme des fonctions autonomes, tandis que les fonctions lambda sont généralement utilisées pour des opérations simples et ponctuelles sans nom.
  6. Réponse 6 : b) 6
  7. Réponse 7 : b) sorted(liste_de_tuples, key=lambda x: x[1])
  8. Réponse 8 : a) Elles ne peuvent pas prendre plus d'un paramètre.
  9. Réponse 9 : b) À appliquer une fonction lambda à chaque élément d'une séquence et renvoyer un nouvel itérable.
  10. Réponse 10: c) (lambda parameters: expression)(arguments)

 

 



Younes Derfoufi
CRMEF OUJDA

Leave a Reply