Python连载21-collections模块

2019-07-24 09:17:37来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、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.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料

 


原文链接:https://www.cnblogs.com/ruigege0000/p/11154949.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Python:字典的高级知识

下一篇:python学习-31 内置函数