python中不可不知的一个重要的集合模块
Posted 梦子Python7762
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中不可不知的一个重要的集合模块相关的知识,希望对你有一定的参考价值。
今天来了解一下python中的一个内建的集合模块。Collections。
This module implements specialized container datatypes providing alternatives to Python’s general purpose built-in containers, dict, list, set, and tuple.
这个模块python内建的一个高性能容器数据类型,提供了许多有用的集合类。
主要介绍一下其中的:namedtuple,deque,Counter,OrderedDict,defaultdict。
1. Nametuple: 生成可以使用名字来访问元素内容的tuple子类。
python中提供了tuple(元组)。它表示一个不变的的集合。比如:我们表示一个点的坐标可以这么写(1,2)。表示x轴上1,y轴上2。
但是直接写(1,2),谁知道你要表示的是坐标呢?这样可以定义一个坐标Class来表示。这样有点小题大做。So:
可以用namedtuple。顾名思义:他是有名字的tuple。
这样就定义了一个point。
定义一个学生:
namedtuple提供了一系列对值的操作方法来方便使用:
namedtuple 转 字典(Orderdict 有序字典):
之后可以使用字典的方式来查询。
其他的还有_replace 用来替换值。
2. deque: 双端队列,可以快速的从另外一侧追加和推出对象。
使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈。
实现了list所有的方法之外。还有popleft 和 appendleft 方法来方便取出并移除头部的元素(其他语言pop 方法可能是取出并移除头部元素,python是列表最后一个)。
3. Counter: 计数器,主要用来计数。
可以用来统计字符串中各个字符的个数:
4. OrderedDict: 有序字典会按照各个key的插入顺序来排序。
5. defaultdict: 带有默认值的字典,使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict。
你要不要也来试试,用 Python 测测你和女神的颜值差距(仅供娱乐,请勿联想) 如果真的遇到好的同事,那算你走运,加油,抓紧学到手。
python、爬虫技巧资源分享Q群:766610200
包含python, pythonweb、爬虫、数据分析等Python技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!
点击:加入
以上是关于python中不可不知的一个重要的集合模块的主要内容,如果未能解决你的问题,请参考以下文章