了解一下python内建模块collections


Posted in Python onSeptember 07, 2020

在使用Python的过程中,一定是离不开数据结构的, 也就是List-列表,Tuples-元组,Dictionaries-字典。
那实际应用中我们更多的还是要去操作这些结构里的数据。比如,在列表后面添加元素,那么就会用到append() 方法。
那除了这些本身的操作方法之外,还有一个Python内建模块——collections,也提供了不少使用的方法,今天来捋一下。

一、Counter

这是一个计数器,我们可以用来方便的统计出一些元素出现的次数,比如String、List、Tuples等等。

String

from collections import Counter

c = Counter("HelloKitty")

print(c)

#运行结果:
Counter({'l': 2, 't': 2, 'H': 1, 'e': 1, 'o': 1, 'K': 1, 'i': 1, 'y': 1})

List

from collections import Counter

c = Counter(["苹果", "樱桃", 1, 1, 4, 4, 5])

print(c)

#运行结果:
Counter({1: 2, 4: 2, '苹果': 1, '樱桃': 1, 5: 1})

二、deque

我们很喜欢用list来存放数据,因为非常的方便。但是list的缺点也很明显,如果你是按索引访问元素就很快,但是插入和删除元素就很慢。
当然了,数据量小的时候肯定是感知不到的,只有当数据量大的时候,你才会发现这个缺点,因为list是线性数据结构,比如插入这个动作,需要把它后面的元素都挪一位。
deque除了实现list的append()和pop()外,还提供了appendleft()和popleft(),这样的话我们可以很方便的向着列表的另一头,进行添加和移除操作了。

from collections import deque

deque_list = deque(['a', 'b', 'c', 'd'])
deque_list.append('苹果')
deque_list.appendleft('吃')

print(deque_list)

#运行结果:
deque(['吃', 'a', 'b', 'c', 'd', '苹果'])

三、OrderedDict

使用Python,大家自然知道Dict字典中的key是无序的。那如果你想要保持key的顺序的话,用OrderedDict即可。

from collections import OrderedDict

list_a = [(1, "苹果"), (2, "香蕉"), (3, "西瓜"), (4, "芒果")]

order_dict = OrderedDict(list_a)
print(order_dict)

#运行结果:
D:\Daily
λ python whatiscollections.py
OrderedDict([(1, '苹果'), (2, '香蕉'), (3, '西瓜'), (4, '芒果')])

如果有场景中需要使用到,可以试试这几种用法。

以上就是了解一下python内建模块collections的详细内容,更多关于python collections的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
用Python程序抓取网页的HTML信息的一个小实例
May 02 Python
python合并同类型excel表格的方法
Apr 01 Python
python如何使用unittest测试接口
Apr 04 Python
基于windows下pip安装python模块时报错总结
Jun 12 Python
python实现录音小程序
Oct 26 Python
Python 隐藏输入密码时屏幕回显的实例
Feb 19 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
python抓取多种类型的页面方法实例
Nov 20 Python
NumPy中的维度Axis详解
Nov 26 Python
Python 串口通信的实现
Sep 29 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
Python pymsql模块的使用
Sep 07 #Python
Python虚拟环境的创建和使用详解
Sep 07 #Python
python用Tkinter做自己的中文代码编辑器
Sep 07 #Python
利用Python将图片中扭曲矩形的复原
Sep 07 #Python
python利用递归方法实现求集合的幂集
Sep 07 #Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 #Python
python简单利用字典破解zip文件口令
Sep 07 #Python
You might like
php URL跳转代码 减少外链
2011/06/25 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
学习JavaScript设计模式(继承)
2015/11/26 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
webpack HappyPack实战详解
2019/10/08 Javascript
解决vue项目F5刷新mounted里的函数不执行问题
2019/11/05 Javascript
原生jQuery实现只显示年份下拉框
2020/12/24 jQuery
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
django 多数据库配置教程
2018/05/30 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
python 常见的反爬虫策略
2020/09/27 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
为什么使用接口?
2014/08/13 面试题
高等教育学自荐书范文
2014/02/10 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
报关员个人职业生涯规划书
2014/03/12 职场文书
生日宴会主持词
2014/03/20 职场文书
工程承诺书怎么写
2014/05/24 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
公司开业主持词
2015/07/02 职场文书
学校运动会简讯
2015/07/20 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
小学音乐课教学反思
2016/02/18 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书