Python

Comment utiliser les fonctions Lambda en Python

Comment utiliser les fonctions Lambda en Python
Cet article explique comment utiliser les fonctions Lambda en Python. Les fonctions Lambda peuvent être utilisées pour écrire des lignes simples concises, implémenter une logique et obtenir rapidement des valeurs de retour qui peuvent être transmises à d'autres expressions.

À propos des fonctions Lambda

Les fonctions lambda en python sont des fonctions anonymes et sans nom qui peuvent être utilisées pour créer des expressions qui renvoient une sorte de valeur basée sur les calculs implémentés 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 tient facilement sur une ligne. Parfois, ils peuvent être difficiles à lire, surtout si les gens ne connaissent pas bien les fonctions Lambda. Cependant, ils ont l'avantage de garder les choses ensemble dans des blocs de code et ils aident à mieux comprendre le contexte.

Syntaxe des fonctions Lambda

La syntaxe d'une fonction Lambda en Python ressemble à ceci :

multiplier = lambda x, y : x * y

La première partie de l'expression lambda, juste avant le symbole deux-points (:), prend des paramètres comme arguments. La deuxième partie, après le symbole deux-points, 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'instruction suivante :

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):
retourner x * y
imprimer (multiplier (3, 4))

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

Passer les fonctions Lambda comme arguments

Vous pouvez utiliser des fonctions Lambda pour effectuer des calculs et fournir la valeur de retour en tant qu'arguments à d'autres fonctions. La méthode de tri en 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.tri(clé=élément lambda : élément[0])
impression (fruits)

Le code ci-dessus produira la sortie suivante :

[(2, 'pommes'), (3, 'bananes'), (4, 'oranges')]

Vous pouvez utiliser lambda dans n'importe quelle méthode qui prend une fonction appelable comme argument (méthode de filtrage par exemple).

Utiliser les fonctions Lambda dans les compréhensions de liste

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

get_square = lambda a : a * a
squares = [get_square(x) for x in range(5)]
imprimer (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 en tant qu'argument :

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

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

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

Utiliser les fonctions Lambda dans les dictionnaires Python

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

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

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

9
-1

Conclusion

Les fonctions Lambda offrent un excellent moyen d'écrire des expressions abrégées et de garder les choses propres et organisées sans créer inutilement de nombreuses fonctions nommées. Cependant, l'utilisation excessive des fonctions Lambda peut rendre le code difficile à lire, en particulier lorsque le code est consulté par plusieurs personnes. Il est préférable d'avoir un code plus lisible (même s'il est verbeux) que d'avoir quelque chose qui peut être un peu difficile à comprendre lors des revisites.

Ports Open Source des moteurs de jeux commerciaux
Les récréations de moteur de jeu gratuites, open source et multiplateformes peuvent être utilisées pour jouer à d'anciens ainsi qu'à certains des titr...
Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...