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中字典的基本知识初步介绍
May 21 Python
Python单链表简单实现代码
Apr 27 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
基于python实现聊天室程序
Jul 27 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
Python 私有化操作实例分析
Nov 21 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
Python库安装速度过慢解决方案
Jul 14 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
accesskey 提交
2006/06/26 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
JavaScript中5种调用函数的方法
2015/03/12 Javascript
Express的路由详解
2015/12/10 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
2017/04/26 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
vue+element实现表单校验功能
2019/05/20 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
2020/01/19 Javascript
Python脚本实现格式化css文件
2015/04/08 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
中英文求职信范文
2014/01/27 职场文书
孩子教育的心得体会
2014/09/01 职场文书
公司离职证明标准范本
2014/10/05 职场文书
2014年预算员工作总结
2014/12/05 职场文书
电影开国大典观后感
2015/06/04 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
Python 键盘事件详解
2021/11/11 Python