Maison > développement back-end > Tutoriel Python > Comment les fonctions Lambda peuvent-elles améliorer la programmation Python ?

Comment les fonctions Lambda peuvent-elles améliorer la programmation Python ?

Mary-Kate Olsen
Libérer: 2024-12-14 07:47:10
original
494 Les gens l'ont consulté

How Can Lambda Functions Enhance Python Programming?

Fonctions Lambda : un guide pratique de leur utilité

Expressions lambda, représentées par lambda x : x**2 2*x - 5 , font souvent l’objet d’un examen minutieux en raison de leur obscurité perçue et de leur potentiel de redéfinition. Cependant, ils jouent un rôle central dans le paradigme de programmation fonctionnelle de Python, offrant des fonctionnalités concises et puissantes.

1. Filtrage et sélection d'éléments spécifiques (par exemple, fonction de filtre)

Considérez la fonction de filtre, qui utilise des lambdas pour sélectionner des éléments dans une liste qui répondent à un critère spécifique. Par exemple, l'expression filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) renvoie la liste [3, 6, 9], contenant uniquement les multiples de 3 de la liste originale.

2. Création de fonctions dynamiquement (par exemple, Function Wrappers)

les lambdas peuvent renvoyer des fonctions à partir d'autres fonctions, ce qui permet de créer un code flexible et adaptable. Par exemple, la fonction de transformation ci-dessous génère une fonction qui ajoute une valeur spécifiée à son argument :

def transform(n):
    return lambda x: x + n
Copier après la connexion

En affectant la fonction renvoyée à une variable, nous pouvons l'appliquer à un argument pour effectuer l'opération :

f = transform(3)
print(f(4))  # Output: 7
Copier après la connexion

3. Combinaison d'éléments d'une séquence itérable (par exemple, fonction de réduction)

Les Lambdas sont utilisés pour réduire ou agréger des éléments d'une séquence itérable à l'aide de la fonction de réduction. L'expression réduire(lambda a, b: '{}, {}'.format(a, b), [1, 2, 3, 4, 5, 6, 7, 8, 9]) accumule les éléments sous forme de virgule -chaîne séparée, résultant en '1, 2, 3, 4, 5, 6, 7, 8, 9'.

4. Tri selon différents critères (par exemple, argument clé dans le tri)

Les Lambdas peuvent également être utilisés pour modifier les critères de tri. En fournissant une fonction clé personnalisée, nous pouvons trier une liste en fonction d'une caractéristique différente. Par exemple, l'expression sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x)) trie la liste par ordre croissant de distance de 5, donnant [5, 4, 6, 3, 7, 2, 8, 1, 9].

Malgré le scepticisme initial, les lambdas s'avèrent être un atout précieux dans l'arsenal de programmation fonctionnelle de Python. Leur capacité à condenser une logique complexe en expressions concises améliore la flexibilité et la lisibilité du code de diverses tâches de programmation.

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:php.cn
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