module de collecte python

不言
Libérer: 2018-04-09 12:03:15
original
1843 Les gens l'ont consulté

Le contenu partagé avec vous dans cet article concerne le module de collecte de Python, qui a une certaine valeur de référence. Les amis dans le besoin peuvent se référer au

module de collecte de Python

collections. Le module fournit plusieurs types de données supplémentaires basés sur les types de données intégrés, tels que int, str, list, dict, etc.

1.namedtuple() : Générer une sous-classe de tuple qui peut utiliser des noms pour accéder au contenu des éléments
2.deque : File d'attente à double extrémité, qui peut rapidement ajouter et ajouter à partir du de l'autre côté Exporter l'objet
3.Counter : compteur, principalement utilisé pour compter
4.OrderedDict : dictionnaire ordonné
5.defaultdict : dictionnaire avec valeurs par défaut

Un : nommétuple(), tuples nommés.

tuple est une collection immuable. nomméetuple est une fonction. Elle est utilisée pour construire un objet tuple personnalisé et spécifie le nombre d'éléments du tuple qui peuvent être référencés via des attributs plutôt que des éléments d'index. Nous pouvons facilement personnaliser un type de données via nommétuple, qui possède les attributs immuables du tuple et peut être référencé en fonction des attributs.

from collections import namedtuple
piont=namedtuple('piont',['x','y'])
p=piont(2,1)
print(p)
print("x =",p.x)
print("Y =",p.y)

>>>isinstance(p,piont)
True
>>>isinstance(p,tuple)
True

类似的创建一个圆,通过坐标,半径r。用namedtuple构建
Cirle=namedtup(‘Circle’,['x','y','r'])


2、有序字典(orderedDict )
dict中key是无序的,在做迭代时,无法确认key的顺序。
orderdDict是对字典类型的补充,他记住了字典元素添加的顺序
Copier après la connexion
from collections import OrderedDict
od=OrderedDict([('a',1),('z',2),('c',3)])// 有序字典顺序是插入进去的顺序排列的
print(od)
d=dict([('a',1),('z',2),('c',3)])  //字典是无序的,key的顺序是变化的
print(d)
Copier après la connexion
3、默认字典(defaultdict)
defaultdict是对字典的类型的补充,他默认给字典的值设置了一个类型。
Copier après la connexion
我们都知道,在使用Python原生的数据结构dict的时候,如果用 d[key] 这样的方式访问, 当指定的key不存在时,是会抛出KeyError异常的。但是,如果使用defaultdict,只要你传入一个默认的工厂方法,那么请求一个不存在的key时, 便会调用这个工厂方法使用其结果来作为这个key的默认值。
Copier après la connexion
4、计数器Counter
Counter是对字典类型的补充,用于追踪值的出现次数。
具备字典的所有功能+自己的功能
Copier après la connexion
from collections import Counter
c=Counter(['11','22','11','33','11','44','55'])
c2=Counter("abcdefdasfdsafaf")
print(c)
print(c2)
Copier après la connexion
most_common(self, n=None),数量从大到小排列,获取前N个元素。
Copier après la connexion
elements(self) 计数器中的所有元素。注:此处非所有元素集合,而是包含所有元素集合的迭代器sorted(c.elements())
Copier après la connexion
update(self,iterable=None,**keds):更新计数器,其实是增加计数器,如果没有则新建。
Copier après la connexion
c.update('witch')
Copier après la connexion
subtract(self, iterable=None, **kwds):相减,原来的计数器中的每一个元素的数量减去后添加的元素的数量c.subtract('witch')
Copier après la connexion

Recommandations associées :

Contenu de base de Python : module de collections

Compréhension approfondie du module de collection Python et copie profonde et superficielle

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: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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal