加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python中的容器序列类型collections

发布时间:2020-12-20 09:52:21 所属栏目:Python 来源:网络整理
导读:collections中的内容: 1、namedtuple():构造带字段名的元组 具名元组的特有属性: 类属性? _fields:包含这个类所有字段名的元组 类方法? _make(iterable):接受一个可迭代对象来生产这个类的实例 实例方法? _asdict():把具名元组以 collections.OrdereDic

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,你就可以继承它们并重写其中的一些方法。不常用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读