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通过ElementTree操作XML获取结点读取属性美化XML
Dec 02 Python
Hadoop中的Python框架的使用指南
Apr 22 Python
pandas中apply和transform方法的性能比较及区别介绍
Oct 30 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python实现大文本文件分割
Jul 22 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
python中图像通道分离与合并实例
Jan 17 Python
python读写文件write和flush的实现方式
Feb 21 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
Apr 10 Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 Python
python归并排序算法过程实例讲解
Nov 04 Python
python实现批量移动文件
Apr 05 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
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
PHP 读取Postgresql中的数组
2013/04/14 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
javascript元素动态创建实现方法
2015/05/13 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
jQuery实用技巧必备(下)
2015/11/03 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
vue+node 实现视频在线播放的实例代码
2020/10/19 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
python函数形参用法实例分析
2015/08/04 Python
Python学习小技巧总结
2018/06/10 Python
python爬取指定微信公众号文章
2018/12/20 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
python中正则表达式与模式匹配
2019/05/07 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
Python实现自动签到脚本功能
2020/08/20 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
《值日生》教学反思
2014/02/17 职场文书
小学家长评语大全
2014/04/16 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
MySQL sql_mode的使用详解
2021/05/08 MySQL