在collections中提供了如下的类:['deque', 'defaultdict', 'namedtuple', 'UserDict', 'UserList','UserString', 'Counter', 'OrderedDict', 'ChainMap']
1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
3.Counter: 计数器,主要用来计数
4.OrderedDict: 有序字典
5.defaultdict: 带有默认值的字典
参考博客:http://www.cnblogs.com/liupengpengg/p/5593273.html
默认字典
可以指定字典中值的类型
例如:将[11,22,33,44,55,66,77,88,99]中大于55的数放在‘k1’中,小雨等于55的放在‘k2’中。
from collections import defaultdict
v=[11,22,33,44,55,66,77,88,99]
dic=defaultdict(list)
for i in v:
if i >55:
dic['k1'].append(i)
else:
dic['k2'].append(i)
print(dic)
结果:defaultdict(<class 'list'>, {'k2': [11, 22, 33, 44, 55], 'k1': [66, 77, 88, 99]})
可命名元组
可命名并不是说元组中的元素可以进行修改,是可以将元组中的每个元素指定一个代号,以后就可以通过这个代号来查找这个元素,而不是通过索引。需要注意的是:要用这个类我们需要先创建类,
例如:通过x,y,z来取出元组中的值
from collections import namedtuple
point=namedtuple('point',['x','y','z'])
a=point(11,22,33)
print(a.x,a.y,a.z)
结果:11 22 33