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检测网页是否有日常链接
Jun 03 Python
Python随机生成彩票号码的方法
Mar 05 Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
Python使用smtplib模块发送电子邮件的流程详解
Jun 27 Python
使用python实现ANN
Dec 20 Python
python的socket编程入门
Jan 29 Python
Python实现的建造者模式示例
Aug 06 Python
python实现推箱子游戏
Mar 25 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
Python Django框架单元测试之文件上传测试示例
May 17 Python
python-OpenCV 实现将数组转换成灰度图和彩图
Jan 09 Python
Python 利用argparse模块实现脚本命令行参数解析
Dec 28 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
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
JavaScript判断按钮被点击的方法
2015/12/13 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
jQuery AjaxUpload 上传图片代码
2016/02/02 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
JS返回顶部实例代码
2020/08/09 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
JS实现快递单打印功能【推荐】
2018/06/21 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
详解Python中的文件操作
2016/08/28 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
Python 编程速成(推荐)
2019/04/15 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
C#面试问题
2016/07/29 面试题
求职信的要素有哪些呢
2013/12/26 职场文书
见习期自我鉴定
2014/01/31 职场文书
绿色学校实施方案
2014/03/31 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
行政监察建议书
2014/05/19 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
优秀员工演讲稿
2019/06/21 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript