了解一下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文件和目录操作方法大全(含实例)
Mar 12 Python
Python实现将Excel转换为json的方法示例
Aug 05 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
搞清楚 Python traceback的具体使用方法
May 13 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
Jul 04 Python
Django对数据库进行添加与更新的例子
Jul 12 Python
Django基础知识 URL路由系统详解
Jul 18 Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
Python小白垃圾回收机制入门
Jun 09 Python
python入门教程之基本算术运算符
Nov 13 Python
numpy数据类型dtype转换实现
Apr 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中使用与Perl兼容的正则表达式
2006/11/26 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
javascript生成随机数的方法
2014/05/16 Javascript
浅谈JavaScript中的String对象常用方法
2015/02/25 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
jQuery响应滚动条事件功能示例
2017/10/14 jQuery
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
对Python3使运行暂停的方法详解
2019/02/18 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
python安装pil库方法及代码
2019/06/25 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
在python中求分布函数相关的包实例
2020/04/15 Python
浅谈django channels 路由误导
2020/05/28 Python
深入分析python 排序
2020/08/24 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
安全标准化实施方案
2014/02/20 职场文书
优秀实习生感言
2014/03/01 职场文书
安踏广告词改编版
2014/03/21 职场文书
中国入世承诺
2014/04/01 职场文书
邀请函范文
2015/02/02 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
Go中的条件语句Switch示例详解
2021/08/23 Golang