Python, connu pour sa simplicité et sa lisibilité, propose une fonctionnalité puissante appelée fonctions lambda. Ces petites fonctions anonymes offrent un moyen concis d’exprimer des fonctionnalités simples sans avoir besoin d’une définition complète de la fonction. Dans cet article, nous explorerons ce que sont les fonctions lambda, comment elles fonctionnent et fournirons des exemples pour illustrer leurs cas d'utilisation.
Une fonction lambda est une petite fonction anonyme définie à l'aide du mot-clé lambda. Il peut prendre n'importe quel nombre d'arguments mais ne peut avoir qu'une seule expression. La syntaxe est la suivante :
lambda arguments: expression
Les fonctions Lambda sont particulièrement utiles en programmation fonctionnelle, où les fonctions sont traitées comme des citoyens de première classe. Cela signifie que vous pouvez les transmettre comme arguments, les renvoyer à partir d'autres fonctions ou les affecter à des variables.
Voici comment définir et utiliser une fonction lambda de base qui ajoute deux nombres :
add = lambda x, y: x + y result = add(3, 5) print(result) # Output: 8
Dans cet exemple, la fonction add prend deux arguments et renvoie leur somme.
La fonction map() applique une fonction donnée à tous les éléments d'un itérable. Voici comment utiliser une fonction lambda avec map() pour mettre au carré des nombres dans une liste :
numbers = [1, 2, 3, 4, 5] squares = list(map(lambda x: x ** 2, numbers)) print(squares) # Output: [1, 4, 9, 16, 25]
La fonction filter() crée une liste d'éléments pour lesquels une fonction renvoie true. Voici comment utiliser une fonction lambda pour filtrer les nombres pairs d'une liste :
numbers = [1, 2, 3, 4, 5, 6] odd_numbers = list(filter(lambda x: x % 2 != 0, numbers)) print(odd_numbers) # Output: [1, 3, 5]
Vous pouvez utiliser les fonctions lambda pour personnaliser le tri des listes. Par exemple, pour trier une liste de tuples en fonction du deuxième élément, vous pouvez procéder comme suit :
data = [(1, 'one'), (3, 'three'), (2, 'two')] sorted_data = sorted(data, key=lambda x: x[1]) print(sorted_data) # Output: [(1, 'one'), (3, 'three'), (2, 'two')]
Les fonctions d'ordre supérieur sont des fonctions qui peuvent prendre d'autres fonctions comme arguments. Voici un exemple qui démontre cela :
def apply_function(f, x): return f(x) result = apply_function(lambda x: x * 2, 10) print(result) # Output: 20
Les fonctions Lambda peuvent également inclure une logique conditionnelle. Voici comment définir une fonction lambda qui renvoie le maximum de deux valeurs :
max_value = lambda a, b: a if a > b else b print(max_value(10, 20)) # Output: 20
Les fonctions Python lambda sont un outil puissant pour écrire du code concis et expressif. Ils permettent aux développeurs de créer de petites fonctions jetables qui peuvent être utilisées dans divers contextes sans la surcharge d'une définition complète de fonction. Bien que les fonctions lambda ne remplacent pas les fonctions régulières, elles sont inestimables pour les situations où simplicité et brièveté sont requises.
En intégrant des fonctions lambda dans votre code, vous pouvez améliorer la lisibilité et rendre vos efforts de programmation fonctionnelle en Python plus efficaces. Que vous les utilisiez avec map(), filter() ou des fonctions personnalisées d'ordre supérieur, les fonctions lambda sont une partie essentielle de la boîte à outils polyvalente de Python.
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!