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 08 Python
Django URL传递参数的方法总结
Aug 28 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
Python分支结构(switch)操作简介
Jan 17 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
对python中assert、isinstance的用法详解
Nov 27 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
python使用yaml 管理selenium元素的示例
Dec 01 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和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
分享10段PHP常用代码
2015/11/11 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
PHP中list方法用法示例
2016/12/01 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
简单js代码实现selece二级联动(推荐)
2014/02/18 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
浅谈python数据类型及类型转换
2017/12/18 Python
用python生成1000个txt文件的方法
2018/10/25 Python
Django实现学生管理系统
2019/02/26 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Windows系统下pycharm中的pip换源
2020/02/23 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
python matplotlib库的基本使用
2020/09/23 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
公证委托书模板
2014/04/03 职场文书
学生夜不归宿检讨书
2014/09/23 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
车间安全生产管理制度
2015/08/06 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript