Maison  >  Article  >  développement back-end  >  Analyse simple de la fonction lambda en Python (avec exemples)

Analyse simple de la fonction lambda en Python (avec exemples)

不言
不言avant
2018-10-10 15:38:008424parcourir

Ce que cet article vous apporte est une simple analyse de la fonction lambda en Python (avec des exemples). Elle a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

1. La fonction Lambda est également appelée fonction anonyme, c'est-à-dire que la fonction n'a pas de nom spécifique. Regardons d'abord l'exemple le plus simple :

def f(x):
return x**2
print f(4)

Si vous utilisez lambda en Python, il s'écrirait comme ceci

g = lambda x : x**2
print g(4)

2. Par rapport aux fonctions ordinaires, lambda omet la fonction name. En même temps, de telles fonctions anonymes ne peuvent pas être partagées et appelées ailleurs.

En fait, vous avez raison. Lambda ne joue pas un rôle bouleversant dans un langage dynamique comme Python, car il existe de nombreuses autres méthodes qui peuvent remplacer lambda.

1. Lorsque vous utilisez Python pour écrire certains scripts d'exécution, l'utilisation de lambda peut enregistrer le processus de définition des fonctions et rationaliser le code.

2. Pour certaines fonctions abstraites qui ne seront pas réutilisées ailleurs, il est parfois difficile de nommer la fonction. Utiliser lambda ne nécessite pas de problèmes de nommage.

3. Utilisez lambda pour rendre le code plus facile à comprendre à certains moments.

Bases de Lambda

Dans l'instruction lambda, il y a des paramètres avant les deux points. Il peut y en avoir plusieurs, séparés par des virgules, et la valeur de retour sur le côté droit de. le côlon. L'instruction lambda construit en fait un objet fonction. En témoigne :

>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139

En termes de traitement de traversée d'objets, la syntaxe for..in..if de Python est en fait très puissante et plus facile à lire.

defaultdict est un type de dictionnaire Vous pouvez définir la valeur par défaut pour defaultdict et définir la valeur par défaut via lambda.

Voici quelques exemples :

from collections import *                                                      
x = defaultdict(lambda:0) //默认值是0
print x[0]
y =defaultdict(lambda:defaultdict(lambda:0))//默认值是一个字典,字典的默认值是0
print y[0]
z = defaultdict(lambda:[0,0,0])//默认值是一个列表,[0,0,0].
print z[0]

Résultats de sortie :

0
defaultdict(<function <lambda> at0x7f097797af50>, {})
[0, 0, 0]

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer