Maison >développement back-end >Tutoriel Python >Utilisation des expressions defaultdict et lambda en Python

Utilisation des expressions defaultdict et lambda en Python

不言
不言original
2018-04-09 14:50:233085parcourir

Cet article présente principalement l'utilisation des expressions defaultdict et lambda en Python. Je le partagerai avec vous ici. Les amis qui en ont besoin peuvent s'y référer

Cet article explique l'utilisation des expressions defaultdict et lambda dans. Python avec des exemples. Partagez-le avec tout le monde pour référence, les détails sont les suivants :

D'après le tutoriel, j'ai vu que defaultdict est une classe, mais quand je l'utilise sur un ordinateur avec Python 2.7.6, je trouve qu'elle n'existe pas. J'ai cherché dans la documentation et je ne l'ai pas trouvée, j'ai donc pris pour acquis que cela pourrait être exclusif à Python 3.X. Parce que le tutoriel est basé sur Python 3.X. Plus tard, j'ai changé pour un ordinateur avec Python 3.X et j'ai toujours eu le problème.

Je me suis tourné vers Internet et j'ai découvert que cette classe est en fait une classe du module collections. Il semble qu’il soit difficile de se débarrasser de l’environnement d’apprentissage en ligne !

Cette classe est une sous-classe de dict, qui remplace une méthode et ajoute une variable d'événement. Au moment de l'instanciation, le premier paramètre est fourni à la fonction d'initialisation de default_factory. Ce paramètre peut être un type ou une fonction. Quant au type, il n'est pas difficile à comprendre. En fait, les types sont essentiellement des fonctions d'usine. Cependant, nous souhaitons parfois utiliser cette méthode pour transmettre une constante. Dans ce cas, nous devons concevoir une fonction constante séparément ou utiliser directement des expressions lambda.

Regardez d'abord la démonstration suivante :

>>> fromcollections import defaultdict
>>> c1 =defaultdict(int)
>>>c1.get(123)
>>>c1.get('abc')
>>> defConst():
return 23
>>> c2 =defaultdict(Const)
>>>c2.get(123)
>>> c2
defaultdict(<functionConst at 0x000001D7E26F58C8>, {})
>>>c2[123]
23
>>>c2[&#39;abc&#39;]
23
>>>c1[123]
0

Comme le montre ce qui précède, cette méthode peut être utilisée pour un dictionnaire un objet qui n'existe pas de clé donne automatiquement une valeur par défaut. La méthode ci-dessus peut naturellement réaliser que la valeur est une constante, mais l'utilisation de lambda peut rendre le code plus concis :

>>> c3 =defaultdict(lambda :123)
>>>c3[12]
123

Lors de la récente rencontre dans certains Scénarios d'utilisation, cette méthode peut rendre le code beaucoup plus simple et n'aura aucun impact sur la lisibilité du code une fois habitué.

Recommandations associées :

Un guide d'introduction simple au module defaultdict et au module nommétuple en 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!

Déclaration:
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