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集合类型用法分析
Apr 08 Python
Python itertools模块详解
May 09 Python
python3制作捧腹网段子页爬虫
Feb 12 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
Python3.8中使用f-strings调试
May 22 Python
PyQt5组件读取参数的实例
Jun 25 Python
python科学计算之scipy——optimize用法
Nov 25 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 Python
如何利用pycharm进行代码更新比较
Nov 04 Python
python实现Thrift服务端的方法
Apr 20 Python
详解运行Python的神器Jupyter Notebook
Jun 03 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 xfocus防注入资料
2008/04/27 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
js处理json以及字符串的比较等常用操作
2013/09/08 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
JavaScript设计模式之适配器模式介绍
2014/12/28 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
python实现学生管理系统
2018/01/11 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
python网络编程之五子棋游戏
2020/05/14 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
英国网络托管和域名领导者:Web Hosting UK
2017/10/15 全球购物
班会关于环保演讲稿
2013/12/29 职场文书
八年级数学教学反思
2014/01/31 职场文书
农贸市场管理制度
2014/01/31 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
公司副总经理任命书
2014/06/05 职场文书
镇创先争优活动总结
2014/08/28 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书