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.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料
上一篇: 【纯手码转载-红字为自己理解】Java集合系列01之总体框架
下一篇: 博客园 个人主页美化
推荐阅读
-
python sys模块sys.path使用方法示例
-
python中requests模块的使用方法
-
python optparse模块使用实例
-
Python CSV模块使用实例
-
Python基于paramunittest模块实现excl参数化
-
使用Python的urllib和urllib2模块制作爬虫的实例教程
-
Python中的defaultdict模块和namedtuple模块的简单入门指南
-
Python参数解析模块sys、getopt、argparse使用与对比分析
-
详解python 3.6 安装json 模块(simplejson)
-
Python中urllib+urllib2+cookielib模块编写爬虫实战