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 抓取动态网页内容方案详解
Dec 25 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
python正则表达式的使用
Jun 12 Python
Python reduce()函数的用法小结
Nov 15 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
Dec 12 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
Python 过滤错误log并导出的实例
Dec 26 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
Python实现aes加密解密多种方法解析
May 15 Python
利用Python实现斐波那契数列的方法实例
Jul 26 Python
解决python 输出到csv 出现多空行的情况
Mar 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
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
纯CSS打造的导航菜单(附jquery版)
2010/08/07 Javascript
jQuery隔行变色与普通JS写法的对比
2013/04/21 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
Python下rrdtool模块的基本使用方法
2015/11/13 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python正则表达式re之compile函数解析
2017/10/25 Python
详解Python中的四种队列
2018/05/21 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
python 字典中取值的两种方法小结
2018/08/02 Python
Python中的 enum 模块源码详析
2019/01/09 Python
python连接、操作mongodb数据库的方法实例详解
2019/09/11 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
经典C++面试题一
2016/11/06 面试题
求职简历推荐信范文
2013/12/02 职场文书
护士岗位职责
2014/02/16 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
销售经理助理岗位职责
2015/04/13 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
关于vue中如何监听数组变化
2021/04/28 Vue.js
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏