了解一下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实现远程调用MetaSploit的方法
Aug 22 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
pandas ix &iloc &loc的区别
Jan 10 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
python获取array中指定元素的示例
Nov 26 Python
详解分布式系统中如何用python实现Paxos
May 18 Python
pytorch 两个GPU同时训练的解决方案
Jun 01 Python
详解Python为什么不用设计模式
Jun 24 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自动适应范围的分页代码
2008/08/05 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
javascript中注册和移除事件的4种方式
2013/03/20 Javascript
js select option对象小结
2013/12/20 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
微信小程序 生命周期详解
2016/10/12 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
vue-cli2.9.3 详细教程
2018/04/23 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
浅谈Webpack下多环境配置的思路
2018/06/27 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
vue实现选中效果
2020/10/07 Javascript
跟老齐学Python之总结参数的传递
2014/10/10 Python
python链接Oracle数据库的方法
2015/06/28 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
四查四看剖析材料
2014/02/14 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书