Maison > Article > développement back-end > Introduction à l'utilisation de la fonction lambda en python (avec exemples)
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
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))
Utiliser la fonction lambda :
sum = lambda x,y : x+y print(sum(1,2))
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]
Utiliser la fonction lambda :
print(list(filter(lambda x: x%2,range(10)))) #[1, 3, 5, 7, 9]
À 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]
À 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 detime.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 expression2Si A est True, le résultat de l'expression conditionnelle est expression1, sinon c'est expression2def s(x): if x==1: return "yes" else: return "no" print(s(0)) print(s(1))Utilisez la fonction lambda :
s=lambda x:"yes" if x==1 else "no" print(s(0)) print(s(1))[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!