Python

Python Lambda

Python Lambda

Dans cet article, nous allons essayer de découvrir Python Lambda.

Définition

Lambda est une fonction définie sans nom. Cela peut prendre plusieurs arguments, mais une seule expression est autorisée qui est évaluée et renvoyée. Lorsque des objets de fonction sont requis, nous pouvons utiliser la fonction lambda.

Syntaxe:
arguments lambda : expression

Exemple 1: La fonction ci-dessous permet de calculer le cube d'un nombre.

def cube(a) :
retourner a*a*a
imprimer(cube(3))

La fonction ci-dessus peut être écrite à l'aide de lambda, comme indiqué ci-dessous :

p = lambda x : x*x*x
imprimer(p(3))

Exemple 2 : La fonction ci-dessous permet de calculer la somme de deux nombres.

def sum_2(x,y):
retourner x + y
imprimer(somme_2(10,20))

La fonction ci-dessus peut être écrite à l'aide de lambda, comme indiqué ci-dessous :

p = lambda x,y : x + y
imprimer(p(10,20))

Exemple 3 : L'exemple ci-dessous pour lambda prend plusieurs arguments.

p = lambda x, y, z : x + y + z
imprimer(p(10, 5, 3))

Exemple 4 : Cette fonction multiplie le nombre par 2 et peut être écrite à l'aide de la fonction Lambda comme ci-dessous :

fonction def(n):
retour lambda x : x * n
multiplier_par_2 = func(2)
print(multiply_by_2(11))
print(multiply_by_2(15))

Exemple 5 : La fonction prend fonction comme argument et renvoie le résultat.

function_argument = lambda p, f: p + f(p)
print(function_argument(5, lambda p: p * p))
print(function_argument(10, lambda x: x - 3))
print(function_argument(10, lambda x : x + 5))
print(function_argument(10, lambda x: x / 5))

Exemple 6 : Dans l'exemple ci-dessous, lambda est utilisé pour trier les valeurs.

#(nom,prénom,âge)
données = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
Les données.sort(key=lambda x:x[0])#sort basé sur le nom
imprimer (données)
données = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
Les données.sort(key=lambda x:x[1])#sort basé sur le nom de famille
imprimer (données)
données = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
Les données.sort(key=lambda x:x[2])#sort basé sur l'âge
imprimer (données)

Maintenant, allez dans l'interpréteur python3.

La fonction lambda est utilisée dans de nombreuses méthodes intégrées. Voici quelques exemples :

1. Carte

Cette fonction mappe chaque élément dans l'ordre à l'aide de la fonction lambda.

Syntaxe:
map(fonction, seq)

Ex:
nombres = [1,2,3,4,5,6]
Ici, nous allons multiplier chaque élément de la liste par 2.
mul_2 = map(lambda x : x*2, nombres)
print(list(mul_2)) # Il renvoie l'objet de la carte et le transtype en tant que liste.

Dans la fonction ci-dessus, chaque élément de la liste est passé à la fonction lambda et la fonction lambda le multipliera par 2.

nombres = [1,2,3,4,5,6]
mul_2 = map(lambda x : x*2, nombres)
imprimer(liste(mul_2))

2. Filtre

Cette fonction filtre tous les éléments d'une liste pour lesquels la fonction lambda renvoie True.

Syntaxe:
filtre(fonction, seq)

Ex:
nombres = [0,1,2,3,4,5,6,7,8,9,10]
impair_nums = filtre (lambda x : x % 2, nums)
print(list(odd_nums)) # Il renvoie l'objet de la carte et le transtype en tant que liste.

nombres = [0,1,2,3,4,5,6,7,8,9,10]
impair_nums = filtre (lambda x : x % 2, nums)
print(list(impair_nums))

3. Réduire

Cette fonction renvoie une valeur unique en appliquant la fonction func() à la séquence.

Syntaxe:
réduire (func, seq)

Ex:
nombres = [0,1,2,3,4,5,6,7,8,9,10]
valeur = réduire(lambda x,y : x+y, nums)
imprimer (valeur)

Dans la liste ci-dessus, il prendra les 2 premiers éléments et effectuera l'addition. Le résultat d'une addition sera ajouté au troisième élément et ainsi de suite. Enfin, il renverra une seule valeur.

Remarque : cette méthode n'est pas disponible dans la version python3+.

nombres = [0,1,2,3,4,5,6,7,8,9,10]
valeur = réduire(lambda x,y : x+y, nums)
imprimer (valeur)

Conclusion

De cet article, nous avons appris de nombreux aspects de la fonction lambda. En fonction des besoins du programme, nous pouvons l'utiliser et améliorer le codage python. Ceci est le plus souvent utilisé pour passer des arguments à une autre fonction (par exemple, nous avons vu ci-dessus les fonctions mapper, filtrer et réduire).

Comment développer un jeu sur Linux
Il y a dix ans, peu d'utilisateurs de Linux prédisaient que leur système d'exploitation préféré serait un jour une plate-forme de jeu populaire pour l...
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...