Comment utiliser les fonctions lambda en python

Comment utiliser les fonctions lambda en python
Cet article expliquera comment utiliser les fonctions lambda dans Python. Les fonctions Lambda peuvent être utilisées pour écrire des lignes concises, implémenter la logique et obtenir rapidement des valeurs de retour qui peuvent être alimentées à d'autres expressions.

À propos des fonctions Lambda

Les fonctions Lambda dans Python sont des fonctions sans nom et anonymes qui peuvent être utilisées pour créer des expressions qui renvoient une sorte de valeur basée sur les calculs mis en œuvre dans l'expression elle-même. La logique dans ces fonctions lambda peut être écrite de manière concise, généralement quelque chose qui s'intègre facilement sur une seule ligne. Parfois, ils peuvent être difficiles à lire, surtout si les gens ne connaissent pas bien les fonctions de lambda. Cependant, ils ont l'avantage de garder les choses ensemble dans les blocs de code et ils aident mieux à comprendre le contexte.

Syntaxe des fonctions lambda

La syntaxe d'une fonction lambda à Python ressemble à ceci:

multiply = lambda x, y: x * y

La première partie de l'expression de lambda, juste avant le colon (:) symbole, prend les paramètres comme arguments. La deuxième partie, après le symbole du côlon, doit être une valeur de retour. Cette valeur de retour peut également être une expression avec logique. En fait, les fonctions lambda sont utilisées presque tout le temps pour implémenter une logique sur les arguments fournis, puis renvoyer le résultat final.

Pour tester la fonction lambda indiquée ci-dessus, vous pouvez utiliser l'énoncé suivant:

Imprimer (multiplier (3, 4))

Vous devriez obtenir la sortie suivante:

12

La même fonction lambda serait autrement écrite de la manière suivante:

Def multiplier (x, y):
retour x * y
Imprimer (multiplier (3, 4))

Les deux échantillons de code donneront la même sortie. Quelques autres exemples de fonctions lambda sont expliqués ci-dessous.

Passer Lambda fonctionne comme des arguments

Vous pouvez utiliser des fonctions lambda pour effectuer des calculs et fournir la valeur de retour comme arguments à d'autres fonctions. La méthode de trier dans Python prend un argument «clé» où vous pouvez spécifier une fonction appelable qui prend un seul argument à des fins de tri. Au lieu de définir d'abord une fonction distincte qui renvoie une clé, puis de fournir la référence de la fonction à l'argument, vous pouvez simplement utiliser une fonction lambda.

fruits = [(2, «pommes»), (4, «oranges»), (3, «bananes»)]
des fruits.Trie (key = élément lambda: élément [0])
Imprimer (fruits)

Le code ci-dessus produira la sortie suivante:

[(2, «pommes»), (3, «bananes»), (4, «oranges»)]]

Vous pouvez utiliser Lambda dans une telle méthode qui prend une fonction appelé comme argument (méthode de filtre par exemple).

Utilisez des fonctions lambda dans les compréhensions de la liste

Vous pouvez utiliser Lambda dans les compréhensions de la liste et une liste sera dûment créée à partir des valeurs renvoyées par l'expression de lambda.

get_square = lambda a: a * a
squares = [get_square (x) pour x dans la plage (5)]
Impression (carrés)

Cela produira la sortie suivante:

[0, 1, 4, 9, 16]

L'exemple de code ci-dessus peut également être écrit de la manière suivante où «X» est fourni à la fonction lambda comme un argument:

carrés = [(lambda x: x * x) (x) pour x dans la plage (5)]
Impression (carrés)

Cet exemple illustre simplement l'utilisation des fonctions lambda dans les compréhensions de la liste. Sinon, vous pouvez calculer facilement les carrés à l'aide d'une instruction de compréhension de liste minimale:

Imprimer ([x * x pour x dans la plage (5)])

Utilisez des fonctions lambda dans les dictionnaires Python

L'exemple de code ci-dessous illustre les fonctions lambda utilisées dans les paires de valeurs clés dans un dictionnaire Python. Une fois défini, vous pouvez appeler ces fonctions à tout moment.

calculer = 'sum': lambda a, b: a + b, 'différence': lambda a, b: a - b
Imprimer (calculer ['sum'] (4, 5))
Imprimer (calculer ['différence'] (4, 5))

Vous devez obtenir la sortie suivante après avoir exécuté le code ci-dessus:

9
-1

Conclusion

Les fonctions de lambda offrent un excellent moyen d'écrire des expressions de sténographie et de garder les choses soignées et organisées sans créer beaucoup de fonctions nommées. Cependant, la surutilisation de fonctions Lambda peut rendre le code difficile à lire, surtout lorsque le code est considéré par plus d'une personne. Il vaut mieux avoir un code plus lisible (même si c'est verbeux) que d'avoir quelque chose qui peut être un peu difficile à comprendre sur les revisitions.