Maison > Article > développement back-end > Comment utiliser les fonctions Lambda en Python
Les fonctions Lambda en Python sont un moyen puissant de créer de petites fonctions anonymes à la volée. Ces fonctions sont généralement utilisées pour des opérations courtes et simples pour lesquelles la surcharge d'une définition complète de fonction serait inutile.
Alors que les fonctions traditionnelles sont définies à l'aide du mot-clé def, les fonctions Lambda sont définies à l'aide du mot-clé lambda et sont directement intégrées dans des lignes de code. En particulier, ils sont souvent utilisés comme arguments pour les fonctions intégrées. Ils permettent aux développeurs d'écrire du code propre et lisible en éliminant le besoin de définitions de fonctions temporaires.
Dans cet article, nous expliquerons ce que font les fonctions Lambda et leur syntaxe. Nous fournirons également quelques exemples et bonnes pratiques pour les utiliser, et discuterons de leurs avantages et inconvénients.
Les fonctions Lambda font partie de Python depuis la version 2.0, vous aurez donc besoin de :
Dans ce tutoriel, nous verrons comment utiliser les fonctions Lambda avec la bibliothèque Pandas : une bibliothèque open source d'analyse et de manipulation de données rapide, puissante, flexible et facile à utiliser. Si vous ne l'avez pas installé, exécutez ce qui suit :
pip install pandas
Tout d'abord, définissons la syntaxe que les développeurs doivent utiliser pour créer des fonctions Lambda.
Une fonction Lambda est définie à l'aide du mot-clé lambda, suivi d'un ou plusieurs arguments et d'une expression :
lambda arguments: expression
Imaginons que nous voulions créer une fonction Lambda qui additionne deux nombres :
add = lambda x, y: x + y
Exécutez ce qui suit :
result = add(3, 5) print(result)
Cela donne :
8
Nous avons créé une fonction anonyme qui prend deux arguments, x et y. Contrairement aux fonctions traditionnelles, les fonctions Lambda n'ont pas de nom : c'est pourquoi on dit qu'elles sont « anonymes ».
De plus, nous n'utilisons pas l'instruction return, comme nous le faisons dans les fonctions Python classiques. On peut donc utiliser la fonction Lambda à volonté : elle peut être imprimée (comme nous l'avons fait dans ce cas), stockée dans une variable, etc.
Voyons maintenant quelques cas d'utilisation courants des fonctions Lambda.
Les fonctions Lambda sont particulièrement utilisées dans les situations où nous avons besoin d'une fonction temporairement simple. En particulier, ils sont couramment utilisés comme arguments pour les fonctions d'ordre supérieur.
Voyons quelques exemples pratiques.
map() est une fonction intégrée qui applique une fonction donnée à chaque élément d'un itérable et renvoie un objet map avec les résultats.
Par exemple, disons que nous voulons calculer les racines carrées de chaque nombre dans une liste. Nous pourrions utiliser une fonction Lambda comme ceci :
pip install pandas
Cela donne :
lambda arguments: expression
Nous avons maintenant une liste contenant les racines carrées des nombres initiaux.
Comme nous pouvons le voir, cela simplifie grandement les processus pour utiliser des fonctions à la volée qui n'ont pas besoin d'être réutilisées plus tard.
Maintenant, supposons que nous ayons une liste de nombres et que nous souhaitions filtrer les nombres pairs.
On peut utiliser une fonction Lambda comme suit :
add = lambda x, y: x + y
Cela donne :
result = add(3, 5) print(result)
La fonction sorted() en Python renvoie une nouvelle liste triée à partir des éléments de n'importe quel itérable. Grâce aux fonctions Lambda, nous pouvons appliquer des critères de filtrage spécifiques à ces listes.
Par exemple, supposons que nous ayons une liste de points en deux dimensions : (x,y). Nous voulons créer une liste qui classe les valeurs y de manière incrémentielle.
Nous pouvons le faire comme ceci :
8
Et on obtient :
# Define the list of numbers numbers = [1, 2, 3, 4] # Calculate square values and print results squared = list(map(lambda x: x ** 2, numbers)) print(squared)
Compte tenu de leur concision, les fonctions Lambda peuvent être intégrées dans des compréhensions de listes pour des calculs à la volée.
Supposons que nous ayons une liste de nombres. Nous voulons :
Voici comment procéder :
[1, 4, 9, 16]
Et on obtient :
# Create a list of numbers numbers = [1, 2, 3, 4] # Filter for even numbers and print results even = list(filter(lambda x: x % 2 == 0, numbers)) print(even)
Compte tenu des exemples que nous avons explorés, passons en revue quelques avantages de l'utilisation des fonctions Lambda :
Discutons brièvement de certaines limitations et inconvénients des fonctions Lambda en Python :
Maintenant que nous avons examiné certains avantages et inconvénients, définissons quelques bonnes pratiques pour utiliser efficacement les fonctions Lambda :
Dans certains cas, des techniques plus avancées de la fonction Lambda peuvent être utiles.
Voyons quelques exemples.
Les fonctions Lambda peuvent être imbriquées pour des opérations complexes.
Cette technique est utile dans les scénarios où vous devez avoir plusieurs petites transformations dans une séquence.
Par exemple, supposons que vous souhaitiez créer une fonction qui calcule la racine carrée d'un nombre, puis ajoute 1. Voici comment utiliser les fonctions Lambda pour ce faire :
pip install pandas
Vous obtenez :
lambda arguments: expression
De nombreuses bibliothèques Python exploitent les fonctions Lambda pour simplifier les tâches complexes de traitement de données.
Par exemple, les fonctions Lambda peuvent être utilisées avec Pandas et NumPy pour simplifier la manipulation et la transformation des données.
Supposons que nous ayons un bloc de données avec deux colonnes. Nous voulons créer une autre colonne qui soit la somme des deux autres. Dans ce cas, nous pouvons utiliser les fonctions Lambda comme suit :
add = lambda x, y: x + y
Et on obtient :
pip install pandas
C'est tout pour notre tour d'horizon des fonctions Lambda en Python !
Dans cet article, nous avons vu comment utiliser les fonctions Lambda en Python, exploré leurs avantages et inconvénients, quelques bonnes pratiques et abordé quelques cas d'utilisation avancés.
Bon codage !
P.S. Si vous souhaitez lire les articles Python dès leur sortie de presse, abonnez-vous à notre newsletter Python Wizardry et ne manquez jamais un seul article !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!