了解一下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的Django框架中更新数据库数据的方法
Jul 17 Python
python如何实现远程控制电脑(结合微信)
Dec 21 Python
Python中绑定与未绑定的类方法用法分析
Apr 29 Python
Python中遍历字典过程中更改元素导致异常的解决方法
May 12 Python
详解python 发送邮件实例代码
Dec 22 Python
浅谈python 线程池threadpool之实现
Nov 17 Python
Python生成短uuid的方法实例详解
May 29 Python
Python数据存储之 h5py详解
Dec 26 Python
python标准库OS模块详解
Mar 10 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
May 12 Python
Django REST Swagger实现指定api参数
Jul 07 Python
Pycharm连接远程服务器并远程调试的全过程
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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
解析php中die(),exit(),return的区别
2013/06/20 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
thinkPHP实现将excel导入到数据库中的方法
2016/04/22 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
JS动画效果代码3
2008/04/03 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
Node.js  REPL (交互式解释器)实例详解
2017/08/06 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
小程序中this.setData的使用和注意事项
2019/08/28 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
python冒泡排序算法的实现代码
2013/11/21 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
2014/04/26 Python
python绘制多个曲线的折线图
2020/03/23 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
Django xadmin安装及使用详解
2020/10/26 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
Hotter Shoes美国官网:英国最受欢迎的舒适鞋
2018/08/02 全球购物
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
2015年教研员工作总结
2015/05/26 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang