欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python连载21-collections模块

程序员文章站 2022-03-18 16:35:45
一、collections模块 1.函数namedtuple (1)作用:tuple类型,是一个可命名的tuple (2)格式:collections(列表名称,列表) (3)​返回值:一个含有列表的类 (4)例子​: 2.函数deque (1)作用:比较方便的解决了频繁删除插入带来的效率问题 (2 ......

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

(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模块