Python collections模块使用方法详解


Posted in Python onAugust 28, 2019

一、collections模块

1.函数namedtuple

(1)作用:tuple类型,是一个可命名的tuple

(2)格式:collections(列表名称,列表)

(3)​返回值:一个含有列表的类

(4)例子​:

import collections
# help(collections.namedtuple)
Point = collections.namedtuple("Point",['x','y'])
p = Point(15,45)
print(p.x+p.y)
print(p[0]+p[1])
#支持索引等
#应用举例
Circle = collections.namedtuple('Circle',['x','y','r'])
circle = Circle(14,15,45)
propotion = circle[2]*circle[2]*3.141596
print("圆的面积为",propotion)

Python collections模块使用方法详解

2.函数deque

(1)作用:比较方便的解决了频繁删除插入带来的效率问题

(2)​格式:deque(列表)

(3)返回值:列表

(4)例子:

q = collections.deque(['a','b','c'])
print(q)
q.append('sada')
q.appendleft('left')
print(q)
help(collections.deque)

Python collections模块使用方法详解

3.函数:defaultdict

(1)作用:当读取dict不存在的属性时,会返回默认值

(2)格式:collections.defaultdict(函数)

(3)​返回值:返回括号里的函数

(4)例子​:

我们定义一个字典,但是当我们打印一个不存在的索引的时候,会报错,因此我们在定义一个函数,当索引不存在的时候让他返回这个函数。

这个类似于我们使用​:

try...except...这个关键字的用法

d1 = {"one":1,"two":2,"three":3}
print("four")
#上面的会报错,下面的就会返回函数,告诉我们错了
func = lambda:"错了"
d2 = collections.defaultdict(func)
d2['one']=1
d2['two']=2
print(d2['four'])

Python collections模块使用方法详解

4.函数Couter

(1)作用:统计字符串的个数

(2)格式:collections.Counter()

(3)返回值:可迭代内容的字典的Counter类

(4)例子:

list1 = collections.Counter("aaabbbccc")
print(list1)
list2 = collections.Counter(['abc','sad','sad','abc','abc','ffds'])
print(list2)

Python collections模块使用方法详解

(5)总结​:括号内的内容必须是可迭代的才可以进行统计,这里这两个例子不一样,第一个统计的时字符串的字母个数,第二个统计的列表中的元素重复个数,符合我们对可迭代的​理解。

二、源码

d21_1_collections_module

地址:https://github.com/ruigege66/Python_learning/blob/master/d21_1_collections_module

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
如何使用七牛Python SDK写一个同步脚本及使用教程
Aug 23 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
python中返回矩阵的行列方法
Apr 04 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
python画一个玫瑰和一个爱心
Aug 18 Python
python简单操作excle的方法
Sep 12 Python
如何爬取通过ajax加载数据的网站
Aug 15 Python
Python语言异常处理测试过程解析
Jan 08 Python
python脚本第一行如何写
Aug 30 Python
python3中编码获取网页的实例方法
Nov 16 Python
如何用Python进行时间序列分解和预测
Mar 01 Python
Python实现学生管理系统(面向对象版)
Jun 24 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 #Python
关于python导入模块import与常见的模块详解
Aug 28 #Python
Python datetime包函数简单介绍
Aug 28 #Python
解决python有时候import不了当前的包问题
Aug 28 #Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 #Python
Python 动态导入对象,importlib.import_module()的使用方法
Aug 28 #Python
Python 共享变量加锁、释放详解
Aug 28 #Python
You might like
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
使用jQuery实现Web页面换肤功能的要点解析
2016/05/12 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python解释执行原理分析
2014/08/22 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
Django和Flask框架优缺点对比
2019/10/24 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
2014年情人节活动方案
2014/02/16 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python