了解一下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判断字符串是否包含子字符串的方法
Mar 24 Python
进一步了解Python中的XML 工具
Apr 13 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
Python 中的with关键字使用详解
Sep 11 Python
Python中GIL的使用详解
Oct 03 Python
Python 中的lambda函数介绍
Oct 10 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
django 控制页面跳转的例子
Aug 06 Python
python3实现绘制二维点图
Dec 04 Python
PyQt5 控件字体样式等设置的实现
May 13 Python
一文读懂Python 枚举
Aug 25 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
Sep 23 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
介绍几个array库的新函数 php
2006/12/29 PHP
用PHP实现维护文件代码
2007/06/14 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
最短的IE判断代码
2011/03/13 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
js使用for循环查询数组中是否存在某个值
2014/08/12 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
js操作二进制数据方法
2018/03/03 Javascript
js的对象与函数详解
2019/01/21 Javascript
详解基于webpack&gettext的前端多语言方案
2019/01/29 Javascript
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python通过floor函数舍弃小数位的方法
2015/03/17 Python
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python入门之modf()方法的使用
2015/05/15 Python
python实现ID3决策树算法
2017/12/20 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
python中怎么表示空值
2020/06/19 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
用python读取xlsx文件
2020/12/17 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
大学专科生推荐信范文
2013/11/23 职场文书
关于保护环境的建议书
2014/05/13 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
人才市场接收函
2015/01/30 职场文书