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中使用Inotify监控文件实例
Feb 14 Python
Python3实现并发检验代理池地址的方法
Sep 18 Python
Python使用numpy实现BP神经网络
Mar 10 Python
利用python画出折线图
Jul 26 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
python使用插值法画出平滑曲线
Dec 15 Python
pyshp创建shp点文件的方法
Dec 31 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
在django中,关于session的通用设置方法
Aug 06 Python
Python实现代码块儿折叠
Apr 15 Python
python-地图可视化组件folium的操作
Dec 14 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 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
最令PHP初学者头痛的十四个问题
2006/07/12 PHP
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
js arguments.callee的应用代码
2009/05/07 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
微信小程序 表单Form实例详解(附源码)
2016/12/22 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
详解React中合并单元格的正确写法
2019/01/08 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
2019/09/04 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
Python中join和split用法实例
2015/04/14 Python
python实现windows下文件备份脚本
2018/05/27 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
Numpy数组的广播机制的实现
2020/11/03 Python
接口可以包含哪些成员
2012/09/30 面试题
车间统计员岗位职责
2014/01/05 职场文书
养生餐厅创业计划书范文
2014/03/26 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
学校安全防火方案
2014/06/07 职场文书
社团活动总结报告
2014/06/27 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
会计简历自我评价
2015/03/10 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL