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。

python中不可不知的一个重要的集合模块

这样就定义了一个point。

定义一个学生:

python中不可不知的一个重要的集合模块

namedtuple提供了一系列对值的操作方法来方便使用:

namedtuple 转 字典(Orderdict 有序字典):

之后可以使用字典的方式来查询。

python中不可不知的一个重要的集合模块

其他的还有_replace 用来替换值。

2. deque: 双端队列,可以快速的从另外一侧追加和推出对象。

使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈。

python中不可不知的一个重要的集合模块

实现了list所有的方法之外。还有popleft 和 appendleft 方法来方便取出并移除头部的元素(其他语言pop 方法可能是取出并移除头部元素,python是列表最后一个)。

3. Counter: 计数器,主要用来计数。

可以用来统计字符串中各个字符的个数:

python中不可不知的一个重要的集合模块

4. OrderedDict: 有序字典会按照各个key的插入顺序来排序。

python中不可不知的一个重要的集合模块

5. defaultdict: 带有默认值的字典,使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict。

python中不可不知的一个重要的集合模块
image

你要不要也来试试,用 Python 测测你和女神的颜值差距(仅供娱乐,请勿联想) 如果真的遇到好的同事,那算你走运,加油,抓紧学到手。
python、爬虫技巧资源分享Q群:766610200
包含python, pythonweb、爬虫、数据分析等Python技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!
点击:加入

以上是关于python中不可不知的一个重要的集合模块的主要内容,如果未能解决你的问题,请参考以下文章

不可不知的DIPIoCDI以及IoC容器

python-set集合

python3.3不自带的模块或工具包 下载以后要怎么处理才能在开发环境中调用 (比如放到pyth

MongoDB深入了解MongoDB不可不知的十点

Python核心不可或缺的自定义函数

关于比特币SV,您不可不知的重要人物钱包矿工以及其他资源