Introduction à l'utilisation de la fonction lambda en python (avec exemples)

不言
Libérer: 2019-04-01 11:17:58
avant
126277 Les gens l'ont consulté

Cet article vous apporte une introduction à l'utilisation de la fonction lambda en Python (avec des exemples). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Fonction anonyme lambda : fait référence à un type de fonction ou de sous-programme qui n'a pas besoin de définir un identifiant (nom de la fonction).
La fonction lambda peut recevoir n'importe quel nombre de paramètres (y compris des paramètres facultatifs) et renvoyer la valeur d'une seule expression.

Syntaxe :

lambda [arg1 [,arg2,.....argn]]:expression
Copier après la connexion

Le paramètre avant les deux points, il peut y en avoir plusieurs, séparés par des virgules, celui à droite des deux points est l'expression (il ne peut y en avoir qu'un) . En fait, la valeur de retour de lambda est l'adresse d'une fonction, qui est l'objet fonction.

Exemple :

1. Attribuez la fonction lambda à une variable et appelez la fonction lambda indirectement via cette variable.

def sum(x,y):
    return x+y
print(sum(1,2))
Copier après la connexion

Utiliser la fonction lambda :

sum = lambda x,y : x+y
print(sum(1,2))
Copier après la connexion

2. Passez la fonction lambda comme paramètre aux autres fonctions. Certaines fonctions intégrées de Python acceptent des fonctions comme paramètres.

def odd(x):
    return x%2
temp = range(10)
show = filter(odd,temp)
print(list(show))   #[1, 3, 5, 7, 9]
Copier après la connexion

Utiliser la fonction lambda :

print(list(filter(lambda x: x%2,range(10))))    #[1, 3, 5, 7, 9]
Copier après la connexion

À l'heure actuelle, la fonction lambda est utilisée pour spécifier les conditions de filtrage des éléments de la liste.

Autre exemple :

map(lambda x: x+1, [1, 2,3])    #[2, 3, 4]
Copier après la connexion

À ce stade, la fonction lambda est utilisée pour spécifier une opération commune pour chaque élément de la liste.

De plus : sorted(), map()

3. Utilisez la fonction lambda comme valeur de retour des autres fonctions et renvoyez-la à l'appelant.

La valeur de retour d'une fonction peut également être une fonction. Par exemple, return lambda x, y: x+y renvoie une fonction d'addition. À l’heure actuelle, la fonction lambda est en fait une fonction définie à l’intérieur d’une certaine fonction, appelée fonction imbriquée ou fonction interne. De manière correspondante, les fonctions contenant des fonctions imbriquées sont appelées fonctions externes. Les fonctions internes peuvent accéder aux variables locales des fonctions externes. Cette fonctionnalité est la base de la programmation de fermeture.

4. Attribuez la fonction lambda à d'autres fonctions, remplaçant ainsi les autres fonctions par la fonction lambda.

Par exemple, afin de se moquer de la fonction sleep dans le temps standard de la bibliothèque, on peut appeler : time.sleep=lambda x:None lors de l'initialisation du programme. De cette façon, appeler la fonction sleep de la bibliothèque de temps dans le code suivant n'exécutera pas la fonction d'origine. Par exemple, lors de l'exécution de time.sleep(3), le programme ne dormira pas pendant 3 secondes, mais ne fera rien

5 Réduisez l'instruction if...else à une seule expression conditionnelle,

<. 🎜>La syntaxe est : expression1 si A else expression2

Si A est True, le résultat de l'expression conditionnelle est expression1, sinon c'est expression2

def s(x):
    if x==1:
        return "yes"
    else:
        return "no"
print(s(0))
print(s(1))
Copier après la connexion
Utilisez la fonction lambda :

s=lambda x:"yes" if x==1 else "no"
print(s(0))
print(s(1))
Copier après la connexion
[Recommandations associées :

Tutoriel vidéo 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!

Étiquettes associées:
source:cnblogs.com
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
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!