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实现的防DDoS脚本
Feb 08 Python
Django1.3添加app提示模块不存在的解决方法
Aug 26 Python
python的构建工具setup.py的方法使用示例
Oct 23 Python
使用matplotlib画散点图的方法
May 25 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
python使用KNN算法识别手写数字
Apr 25 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
Django框架中序列化和反序列化的例子
Aug 06 Python
python如果快速判断数字奇数偶数
Nov 13 Python
matplotlib quiver箭图绘制案例
Apr 17 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
Python使用BeautifulSoup4修改网页内容
May 20 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
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
JS实现标签页切换效果
2017/05/04 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
es6中Promise 对象基本功能与用法实例分析
2020/02/23 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
Django框架中方法的访问和查找
2015/07/15 Python
Python正则表达式完全指南
2017/05/25 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
numpy:np.newaxis 实现将行向量转换成列向量
2019/11/30 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
苹果音乐订阅:Apple Music
2018/08/02 全球购物
办公室主任岗位职责
2013/11/08 职场文书