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

364 篇文章 14 订阅
362 篇文章 18 订阅

今天来了解一下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技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!
点击:加入

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值