前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中的容器序列类型collections

python中的容器序列类型collections

作者头像
西西嘛呦
发布2020-08-26 10:09:58
8240
发布2020-08-26 10:09:58
举报

collections中的内容:

1、namedtuple():构造带字段名的元组

具名元组的特有属性:

类属性 _fields:包含这个类所有字段名的元组

类方法 _make(iterable):接受一个可迭代对象来生产这个类的实例

实例方法 _asdict():把具名元组以 collections.OrdereDict 的形式返回,可以利用它来把元组里的信息友好的展示出来

实例方法_replace():修改对象属性

一般用法:

2、deque:双端队列,相当于可以在列表的尾部和头部进行插入和删除操作,比单纯的列表insert(0,val)效果要好

append():尾部添加一个元素

appendleft():头部添加一个元素

pop():尾部弹出一个元素

popleft():头部弹出一个元素

3、ChanMap:将多个映射快速链接到一起,这样它们就可以作为一个单元处理。它通常比创建一个新字典和多次调用update()要快很多。

对ChainMap中的元素进行操作都是对第一个映射中的元素进行操作。

该容器用的不多。

4、Counter:用于计数可哈希对象,像列表、字符串等等。

5、OrderedDict

有序词典就像常规词典一样,但有一些与排序操作相关的额外功能。由于内置的dict类获得了记住插入顺序的能力(在 Python 3.7 中保证了这种新行为),它们变得不那么重要了。

一些与dict的不同仍然存在:

  • 常规的 dict被设计为非常擅长映射操作。 跟踪插入顺序是次要的。
  • OrderedDict 旨在擅长重新排序操作。 空间效率、迭代速度和更新操作的性能是次要的。
  • 算法上, OrderedDict可以比dict更好地处理频繁的重新排序操作。 这使其适用于跟踪最近的访问(例如在LRU Cache中)。
  • 对于OrderedDict ,相等操作检查匹配顺序。
  • OrderedDict 类的 popitem() 方法有不同的签名。它接受一个可选参数来指定弹出哪个元素。
  • OrderedDict 类有一个 move_to_end() 方法,可以有效地将元素移动到任一端。
  • Python 3.8之前,dict缺少__reversed__方法。

一句话总结:OrderedDict与普通的dict不同,它会记录放入元素的顺序。

5、defaultdict:存放入的数据类型会有默认值

比如:t=defaultdict(int)

字典中存放的键的数据类型为整型,其默认值为0。这个性质在遍历计数时很方便。

6、UserDict、UserList、UserString:也就是你想定义自己的Dict、List、String,你就可以继承它们并重写其中的一些方法。不常用

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档