En Python, une fonction anonyme signifie qu’une fonction est sans nom. Comme nous le savons déjà, le mot-clé def est utilisé pour définir une fonction normale en Python. De même, le mot-clé lambda est utilisé pour définir une fonction anonyme en Python. Elle a la syntaxe suivante:
Syntax: lambda arguments: expression
- Cette fonction peut avoir n’importe quel nombre d’arguments mais une seule expression, qui est évaluée et renvoyée.
- On est libre d’utiliser des fonctions lambda partout où des objets de fonction sont requis.,
- Vous devez garder à l’esprit que les fonctions lambda sont syntaxiquement limitées à une seule expression.
- Il a diverses utilisations dans des domaines particuliers de la programmation en plus d’autres types d’expressions dans les fonctions.
regardons cet exemple et essayons de comprendre la différence entre une fonction normale définie par def et une fonction lambda.,d= »28e0a61f79″>
(cube(
5
))
print
(lambda_cube(
5
))
Output:
125125
As we can see in the above example both the cube() function and lambda_cube() function behave the same and as intended., Analysons un peu plus l’exemple ci-dessus:
- sans utiliser Lambda: ici, les deux renvoient le cube d’un nombre donné. Mais, en utilisant def, nous devions définir une fonction avec un cube de nom et devions lui transmettre une valeur. Après l’exécution, nous devions également renvoyer le résultat à partir duquel la fonction a été appelée en utilisant le mot clé return.
- utilisation de Lambda: la définition Lambda n’inclut pas d’instruction « return”, elle contient toujours une expression renvoyée., Nous pouvons également mettre une définition lambda partout où une fonction est attendue, et nous n’avons pas du tout besoin de l’affecter à une variable. C’est la simplicité des fonctions lambda.
Les fonctions Lambda peuvent être utilisées avec des fonctions intégrées comme filter(), map() et reduce().
utilisation de la fonction lambda() avec filter ()
la fonction filter() en Python prend une fonction et une liste comme arguments. Cela offre un moyen élégant de filtrer tous les éléments d’une séquence « sequence”, pour laquelle la fonction renvoie True.,/div>filter
(
lambda
age: age>
18
, ages))
print
(adults)
Output:
Using lambda() Function with map()
The map() function in Python takes in a function and a list as an argument., La fonction est appelée avec une fonction lambda et une liste et une nouvelle liste est renvoyée qui contient tous les éléments modifiés lambda renvoyés par cette fonction pour chaque élément.,9e8e9″>
x: x
*
2
, li))
print
(final_list)
Output:
Example 2:
Output:
Using lambda() Function with reduce()
The reduce() function in Python takes in a function and a list as an argument., La fonction est appelée avec une fonction lambda et un itérable et un nouveau résultat réduit est renvoyé. Cela effectue une opération répétitive sur les paires de l’itérable. La fonction reduce () appartient au module functools.,v> reduce
((
lambda
x, y: x
+
y), li)
print
(
sum
)
Output:
193
Example 2:
Output:
The maximum element of the list is : 6
This article is contributed by Chinmoy Lenka., Si vous aimez GeeksforGeeks et souhaitez contribuer, vous pouvez également écrire un article en utilisant contribute.geeksforgeeks.org ou envoyez votre article à [email protected]. voir votre article apparaissant sur la page principale GeeksforGeeks et aider les autres Geeks.
Veuillez écrire des commentaires si vous trouvez quelque chose d’incorrect, ou si vous souhaitez partager plus d’informations sur le sujet discuté ci-dessus.
Attention geek! Renforcez vos fondations avec le cours Python Programming Foundation et apprenez les bases.,
pour commencer, vos préparatifs D’entrevue améliorent vos concepts de Structures de données avec le cours Python DS.