了解一下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 相关文章推荐
在Linux中通过Python脚本访问mdb数据库的方法
May 06 Python
Python中内置的日志模块logging用法详解
Jul 12 Python
python实现批量监控网站
Sep 09 Python
深入浅析Python传值与传址
Jul 10 Python
利用Python模拟登录pastebin.com的实现方法
Jul 12 Python
django框架使用方法详解
Jul 18 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
Jun 10 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 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
?繁体转换的class
2006/10/09 PHP
php防攻击代码升级版
2010/12/29 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
浅析php单例模式
2014/11/25 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
2020/12/10 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
JS实现div内部的文字或图片自动循环滚动代码
2013/04/19 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
党校培训思想汇报
2013/12/30 职场文书
电大会计学自我鉴定
2014/02/06 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
经典爱情感言
2015/08/03 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server