Le mot-clé lambda en Python
C’est quoi lambda en Python ? Comment l’utiliser ? Découvrez les secrets du mot-clé lambda en Python qui permet de créer des fonction anonymes !
L’expression lambda est utilisée pour créer des fonctions anonymes en Python. Ces fonctions peuvent prendre un nombre indéfini d’arguments mais ne peuvent contenir qu’une seule expression. Cette expression unique qui compose une fonction lambda sera retournée.
Syntaxe d’une fonction lambda :
lambda paramètres: expression
Explications vidéo de lambda en moins d’une minute :
Par exemple, cette fonction lambda retourne le carré d’un nombre :
lambda nombre: nombre * nombre
Comment declarer une fonction lambda ?
Une fonction lambda est définie avec le mot-clé lambda, suivi des paramètres et de l’expression à évaluer.
lambda parametres: expression
Comment utiliser la fonction lambda en Python ?
Il existe plusieurs manières d’utiliser une fonction lambda en Python. Le plus souvent, on pourra la passer en paramètre à une autre fonction. Mais il est aussi possible d’invoquer une fonction lambda en la sauvant dans une autre variable ou bien en l’utilisant directement.
En la sauvant dans une variable
On peut sauver une fonction lambda en l’affectant à une variable. On pourra ensuite l’appeler quand on veut, comme une fonction normale.
mettre_au_carre = lambda nombre: nombre * nombre
print(mettre_au_carre(4))
Affichera :
16
En l’appelant directement
On peut appeler directement une fonction lambda en la mettant entre parenthèses et en lui passant les paramètres qu’elle attend, eux aussi entre parenthèses.
Reprenons notre exemple pour mettre au carré :
print((lambda nombre: nombre * nombre)(2))
Affichera :
4
Quand utiliser la fonction lambda ?
On utilise un lambda pour créer une fonction temporaire quand une fonction complète n’est pas nécessaire. Les fonctions lambda sont généralement utilisées pour des opérations simples. Si votre fonction devient complexe, il vaut mieux utiliser une fonction définie avec def.
Exemples de cas d’utilisation de lambda en Python
1. Avec la fonction map :
Utilisation de map()
pour appliquer une fonction à chaque élément d’une liste.
nombres = [1, 2, 3, 4]
nombres_doubles = list(map(lambda x: x * 2, nombres))
print(nombres_doubles)
Ce qui affichera :
[2, 4, 6, 8]
En apprendre plus sur la fonction map
2. Avec la fonction filter
Utilisation de filter()
pour filtrer les éléments d’une liste en fonction d’une condition.
nombres = [1, 2, 3, 4, 5, 6]
nombres_pairs = list(filter(lambda x: x % 2 == 0, nombres))
print(nombres_pairs)
Ce qui affichera :
[2, 4, 6]
En apprendre plus sur la fonction filter
3. Tri personnalisé avec sorted
Utilisation de sorted()
avec une fonction lambda pour trier une liste en fonction d’un critère spécifique.
etudiants = [('Alice', 25), ('Bob', 20), ('Charlie', 22)]
etudiants_par_age = sorted(etudiants, key=lambda x: x[1])
print(etudiants_par_age)
Ce qui affichera :
[('Bob', 20), ('Charlie', 22), ('Alice', 25)]
4. Calculer la somme avec reduce
Utilisation de functools.reduce()
pour calculer la somme des éléments d’une liste.
from functools import reduce
nombres = [1, 2, 3, 4]
somme = reduce(lambda x, y: x + y, nombres)
print(somme)
Ce qui affichera :
10
5. Créer des fonctions rapidement
Utilisation de fonctions lambda lors de la définition de fonctions rapidement dans une expression.
On peut par exemple définir une fonction lambda directement dans une expression
additionner = (lambda x, y: x + y)(3, 5)
print(additionner)
Ce qui affichera :
8
Je m'appelle Thomas, et je code depuis plus de 20 ans. Depuis ma sortie de la première promotion de l'École 42, j'ai conçu et développé des centaines d'applications et de sites web. Sur ce blog, je partage avec vous les stratégies les plus efficaces pour maîtriser l'art de coder et progresser rapidement.