Les fonctions Lambda dans Python, également appelées fonctions anonymes, sont de petites fonctions en ligne que vous pouvez définir sans leur donner de nom. Ils sont définis à l'aide du mot-clé lambda
, suivi d'un ensemble de paramètres, d'un côlon et d'une expression. La syntaxe pour une fonction lambda est la suivante:
<code class="python">lambda arguments: expression</code>
Voici un exemple d'une simple fonction lambda:
<code class="python">add = lambda x, y: xy print(add(5, 3)) # Output: 8</code>
Les fonctions Lambda sont utiles dans plusieurs scénarios:
map()
, filter()
et reduce()
.Les fonctions Lambda peuvent améliorer la lisibilité de votre code Python de plusieurs manières:
Concision : En vous permettant de définir de petites fonctions en ligne, les fonctions lambda peuvent réduire la longueur globale de votre code. Cela peut faciliter la compréhension du flux du programme sans avoir à passer à une définition de fonction distincte.
Par exemple, au lieu de définir une fonction distincte pour carré un nombre:
<code class="python">def square(x): return x * x numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(square, numbers))</code>
Vous pouvez utiliser une fonction lambda:
<code class="python">numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(lambda x: x * x, numbers))</code>
La version lambda est plus concise et maintient la logique ensemble.
map()
, filter()
et reduce()
, les fonctions lambda peuvent indiquer que l'opération est appliquée aux données sans avoir besoin de chercher ailleurs dans le code.Vous préférez utiliser une fonction lambda sur une fonction régulière dans les scénarios spécifiques suivants:
Opérations en ligne : lorsque vous devez effectuer une opération simple dans une expression plus grande, les fonctions lambda sont idéales. Par exemple, tri une liste de tuples basée sur le deuxième élément:
<code class="python">students = [('Alice', 88), ('Bob', 92), ('Charlie', 75)] sorted_students = sorted(students, key=lambda student: student[1])</code>
Rappels et gestionnaires d'événements : dans la programmation de l'interface utilisateur graphique (GUI) ou le développement Web, les fonctions Lambda peuvent être utilisées comme rappels de courte durée ou gestionnaires d'événements.
<code class="python">import tkinter as tk root = tk.Tk() button = tk.Button(root, text="Click Me", command=lambda: print("Button clicked!")) button.pack() root.mainloop()</code>
Traitement des données avec des fonctions intégrées : Lorsque vous travaillez avec des fonctions comme map()
, filter()
ou reduce()
, les fonctions lambda vous permettent de spécifier la logique de transformation ou de filtrage en ligne.
<code class="python">numbers = [1, 2, 3, 4, 5] even_numbers = list(filter(lambda x: x % 2 == 0, numbers))</code>
Oui, les fonctions Lambda peuvent être utilisées très efficacement avec les fonctions intégrées de Python comme map()
, filter()
et reduce()
. Voici quelques exemples de la façon dont ils fonctionnent ensemble:
map () : la fonction map()
applique une fonction donnée à chaque élément d'un itérable et renvoie un objet MAP. Les fonctions Lambda sont souvent utilisées pour définir la fonction en ligne.
<code class="python">numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(lambda x: x * x, numbers)) print(squared_numbers) # Output: [1, 4, 9, 16, 25]</code>
Filter () : La fonction filter()
construit un itérateur à partir d'éléments d'un itérable pour lequel une fonction renvoie true. Les fonctions de lambda sont couramment utilisées pour définir les critères de filtrage.
<code class="python">numbers = [1, 2, 3, 4, 5] even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) print(even_numbers) # Output: [2, 4]</code>
Réduction () : La fonction reduce()
, qui fait partie du module functools
, applique un calcul roulant à des paires de valeurs séquentielles dans une liste. Les fonctions Lambda peuvent être utilisées pour spécifier le calcul.
<code class="python">from functools import reduce numbers = [1, 2, 3, 4, 5] sum_of_numbers = reduce(lambda x, y: xy, numbers) print(sum_of_numbers) # Output: 15</code>
Ces exemples illustrent comment les fonctions de Lambda peuvent être utilisées pour fournir des implémentations concises et claires des opérations qui impliquent l'application d'une fonction à une séquence de données.
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!