collection模块

collection模块之三大类:

  namedtuple():命名元组

  defaultdict():默认值字典

  counter():计数器

1.namedtuple():命名元组

from collections import namedtuple,defaultdict,Counter

# namedtuple(描述信息,[属性名1,属性名2, .......])
rectangle = namedtuple('this_is_a_Rectangle_class', ['length', 'width'])

r= rectangle(10, 5)
# 通过属性访问元组的元素
print(r.length)
print(r.width)
# 通过索引访问元素
print(r[0])
print(r[1])

2.defaultdict:默认值字典

d = defaultdict(int, name='andy', age=10)
print(d['name'])
print(d['age'])
print(d['addr'])  # 字典中不存在这个键,不会报错,会返回值0;{'addr:0}会被添加

print(d)


# 自定义函数充当第一个参数:
# 要求:该函数不能有参数
def f():
    return 'CQ'


d = defaultdict(f, name='LGQ', age=21)
res = d['addr']  # 当字典中不存在这个键时,会返回f函数的返回值;并向字典添加'addr':该函数的返回值
print(res)
print(d['hobby']) # 当字典中不存在这个键时,会返回f函数的返回值;并向字典添加'addr':该函数的返回值
print(d)

3.counter():计数器

c = Counter('abcdwfdsadccdaas')
print(c)
print(c.most_common(3)) # 次数最多前三名
...
...
原文地址:https://www.cnblogs.com/GOD-L/p/13527428.html