Python连载21-collections模块
一、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)

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)

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'])

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)

(5)总结:括号内的内容必须是可迭代的才可以进行统计,这里这两个例子不一样,第一个统计的时字符串的字母个数,第二个统计的列表中的元素重复个数,符合我们对可迭代的理解。
二、源码:d21_1_collections_module
地址:https://github.com/ruigege66/Python_learning/blob/master/d21_1_collections_module
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料

Python连载21-collections模块的更多相关文章
- Python标准库——collections模块的Counter类
1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...
- python正则以及collections模块
正则 一.认识模块 什么是模块:一个模块就是一个包含了python定义和声明的文件,文件名就是加上.py的后缀,但其实import加载的模块分为四个通用类别 : 1.使用python编写的代码(.p ...
- Python自建collections模块
本篇将学习python的另一个内建模块collections,更多内容请参考:Python学习指南 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtupl ...
- python(43):collections模块
Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块.比如今天想给大家 介绍的 collections 就是一个非常好的例子. 基本介绍: 我们都知道,python拥有一些内阻的 ...
- python拓展2 collections模块与string模块
知识内容 1.collections模块介绍 2.collections模块使用 3.string模块介绍及使用 一.collections模块介绍 collections模块中提供了很多python ...
- Python中的collections模块
Python中内置了4种数据类型,包括:list,tuple,set,dict,这些数据类型都有其各自的特点,但是这些特点(比如dict无序)在一定程度上对数据类型的使用产生了约束,在某些使用场景下效 ...
- Python高级数据结构-Collections模块
在Python数据类型方法精心整理,不必死记硬背,看看源码一切都有了之中,认识了python基本的数据类型和数据结构,现在认识一个高级的:Collections 这个模块对上面的数据结构做了封装,增加 ...
- python基础之collections模块
Counter Counter是一个简单的计数器,可以统计一段字符串中各个元素出现的次数: import collections counter_1=collections.Counter('kjsd ...
- python基础(11)-常用模块
re(正则)模块 常用方法 findall() 以列表返回所有满足条件的结果 import re print(re.findall('\d','a1b2c2abc123'))#['1', '2', ' ...
- python collections模块
collections模块基本介绍 collections在通用的容器dict,list,set和tuple之上提供了几个可选的数据类型 namedtuple() factory function f ...
随机推荐
- device platform 相应的表
hw.machine 这个值相应相关代码最好在后台管理,降低手机端代码更新次数 if ([platform isEqualToString:@"iPhone1,1"]) retur ...
- 卷积(convolution)与相关(correlation)(matlab 实现)
1. 卷积(convolution) 输出 y(n) 是作为在 x(k) 和 h(n−k)(反转和移位)重叠之下的样本和求出的. 考虑下面两个序列: x(n)=[3,11,7,0,−1,4,2],−3 ...
- 3DMax模型输入到WPF中运行
原文:3DMax模型输入到WPF中运行 其实看看笔者文章之前,可以在网上搜索下将3Dmax模型输入到WPF的办法,大部分结果都是这篇文章.这篇文章呢?有点麻烦,就是我们3Dmax模型转换到Blend的 ...
- 使用Struts2的iterator标签遍历复杂Map种类
1.建一个Webproject.加入Struts2支持. 2.创建两个实体类: a). Mother(母亲)的Java类. package struts.map.entity; import java ...
- WPF 数据模板DataType属性的使用,不用指定ItemTemplate
<Window x:Class="CollectionBinding.MainWindow" xmlns="http://schemas.micros ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门
原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...
- wpf-MVVM界面自适应:界面自适应及字体自适应
原文:wpf-MVVM界面自适应:界面自适应及字体自适应 1,界面自适应 界面先划分Region,每个填充Region的View不设置Width属性,即可按照Region划分的比例,自适应屏幕分辨率 ...
- 用C#修改系统区域和语言设置
原文:用C#修改系统区域和语言设置 这几天做项目,因为客户机的系统不同,发现客户机的区域和语言设置也不尽相同,导致程序运行时根据时间判断的很多属性和方法都出现各种各样的千奇百怪的问题. 修改程序太费时 ...
- 【Windows10 IoT开发系列】配置篇
原文:[Windows10 IoT开发系列]配置篇 Windows10 For IoT是Windows 10家族的一个新星,其针对不同平台拥有不同的版本.而其最重要的一个版本是运行在Raspberry ...
- .net EF Join 关联表分页查询
Join中第二个参数和第三个参数即为两张表关联对应的字段 第四个参数new 后面如果不写Model名,系统会自动生成带字段的list类型 IQueryable<Operator> oper ...