• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python的collection模块

python 搞代码 4年前 (2022-01-09) 23次浏览 已收录 0个评论

本篇文章给大家分享的内容是关于python的collection模块,具有一定的参考价值,有需要的朋友参考一下

python的collection模块

collections模块在内置的数据类型,比如:int、str、list、dict等基础之上额外提供了几种数据类型。

1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
3.Counter: 计数器,主要用来计数
4.O本文来源gao@daima#com搞(%代@#码网@rderedDict: 有序字典
5.defaultdict: 带有默认值的字典

一:namedtuple(),可命名元组。

tuple是一个不可变的集合,namedtuple是一个函数,她用来构建一个自定义的tuple对象,并且规定了tuple元素的个数,可通过属性而不是索引来引用tuple的某个元素。我们可以通过namedtuple很方便的自定义一个数据类型,它具有tuple 的不变属性又可以根据属性来引用。

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

相关推荐:

Python基础内容:collections模块

深入了解Python collection模块与深浅拷贝

以上就是python的collection模块的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python的collection模块
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址