Comprendre les fonctions Python Lambda : un guide complet

Mary-Kate Olsen
Libérer: 2024-10-11 10:22:30
original
924 Les gens l'ont consulté

Understanding Python Lambda Functions: A Comprehensive Guide

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.

Qu'est-ce qu'une fonction Lambda ?

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
Copier après la connexion

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.

Pourquoi utiliser les fonctions Lambda ?

  1. Concision : les fonctions Lambda vous permettent d'écrire de petites fonctions sur une seule ligne, ce qui rend votre code plus propre et plus lisible.
  2. Anonyme : Comme les fonctions lambda ne nécessitent pas de nom, elles sont idéales pour les tâches de courte durée.
  3. Programmation fonctionnelle : ils fonctionnent bien avec des fonctions telles que map(), filter() et sorted(), ce qui en fait un élément clé des capacités de programmation fonctionnelle de Python.

Exemples de base

1. Une fonction Lambda simple

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
Copier après la connexion

Dans cet exemple, la fonction add prend deux arguments et renvoie leur somme.

2. Utiliser Lambda avec map()

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]
Copier après la connexion

3. Utilisation de Lambda avec filter()

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]
Copier après la connexion

4. Utilisation de Lambda avec sorted()

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')]
Copier après la connexion

5. Lambda dans les fonctions d'ordre supérieur

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
Copier après la connexion

6. Lambda pour les expressions conditionnelles

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
Copier après la connexion

Conclusion

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!