了解一下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的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
python中学习K-Means和图片压缩
Nov 20 Python
django框架模型层功能、组成与用法分析
Jul 30 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
python函数调用,循环,列表复制实例
May 03 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
May 15 Python
Python使用socketServer包搭建简易服务器过程详解
Jun 12 Python
如何在python中实现线性回归
Aug 10 Python
python与js主要区别点总结
Sep 13 Python
Python进行特征提取的示例代码
Oct 15 Python
Python 用户输入和while循环的操作
May 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
PHP实现异步调用方法研究与分享
2011/10/27 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
海量经典的jQuery插件集合
2010/01/12 Javascript
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
js实现列表按字母排序
2020/08/11 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
用pickle存储Python的原生对象方法
2017/04/28 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
指针和引用有什么区别
2013/01/13 面试题
高中数学教师求职信
2013/10/30 职场文书
前台接待岗位职责
2013/12/03 职场文书
一般党员对照检查材料
2014/09/24 职场文书
关于观后感的作文
2015/06/18 职场文书
《开国大典》教学反思
2016/02/16 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android