了解一下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通过pil将图片转换成黑白效果的方法
Mar 16 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
Python判断文件或文件夹是否存在的三种方法
Jul 27 Python
Python用for循环实现九九乘法表
May 31 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
python保存文件方法小结
Jul 27 Python
python机器学习之神经网络实现
Oct 13 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Pycharm创建项目时如何自动添加头部信息
Nov 14 Python
Python装饰器用法与知识点小结
Mar 09 Python
Python制作简单的剪刀石头布游戏
Dec 10 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 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
DC动漫人物排行
2020/03/03 欧美动漫
php笔记之:php数组相关函数的使用
2013/04/26 PHP
js检测判断日期大于多少天的方法
2015/05/04 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
python制作企业邮箱的爆破脚本
2016/10/05 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
python日期相关操作实例小结
2019/06/24 Python
python处理大日志文件
2019/07/23 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Django中ORM的基本使用教程
2020/12/22 Python
python requests库的使用
2021/01/06 Python
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
校园文化建设方案
2014/02/03 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
高效课堂标语
2014/06/26 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
故宫导游词
2015/01/31 职场文书
2016年清明节寄语
2015/12/04 职场文书
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
Go语言测试库testify使用学习
2022/07/23 Golang