了解一下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 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 Python
Python 自动刷博客浏览量实例代码
Jun 14 Python
python中的字符串内部换行方法
Jul 19 Python
python sort、sort_index方法代码实例
Mar 28 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
Apr 03 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
Aug 30 Python
python中执行smtplib失败的处理方法
Jul 01 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
python 实现的车牌识别项目
Jan 25 Python
python time.strptime格式化实例详解
Feb 03 Python
Python3.9.1中使用match方法详解
Feb 08 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
php在线打包程序源码
2008/07/27 PHP
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
ThinkPHP实现递归无级分类――代码少
2015/07/29 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
javascript 三种编解码方式
2010/02/01 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
Angular4学习笔记router的简单使用
2018/03/30 Javascript
Angular4 组件通讯方法大全(推荐)
2018/07/12 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
python实现读取excel写入mysql的小工具详解
2017/11/20 Python
python实现图片识别汽车功能
2018/11/30 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
工业学校毕业生自荐书
2014/01/03 职场文书
抵押贷款承诺书
2014/05/30 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
公司内部升职自荐信
2015/03/27 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
redis 解决库存并发问题实现数量控制
2022/04/08 Redis
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
Python日志模块logging用法
2022/06/05 Python