1.collections.defaultdict
defaultdict是带有默认值的字典类,它指定了一个构造函数,在key值不存在时,会自动调用构造函数创建默认值。
import collections
score = collections.defaultdict(list,[('zhangsan', [88,67]), ('lisi', [78,90]), ('wangwu', [58,94])])
score['zhaoliu'].append(90)
print(score)
2.collections.OrderedDict
OrderedDict类是排序的字典类,它的key值是有序的,每次迭代取出的顺序都一致。
3.collections.ChainMap
ChainMap是一个映射类的合集,它包含多个字典对象,在进行键查找的时候,会依次遍历各个字典,查找键值。
4.collections.Counter
这个映射类是一个计数类,对键进行计数。
update方法更新计数,most_common是输出计数最多的元素。
>>> import collections
>>> count = collections.Counter("nnkmasdofioiuaywebt4blkjbzdnflgabsgjk")
>>> count
Counter({'b': 4, 'n': 3, 'k': 3, 'a': 3, 's': 2, 'd': 2, 'o': 2, 'f': 2, 'i': 2, 'l': 2, 'j': 2, 'g': 2, 'm': 1, 'u': 1, 'y': 1, 'w': 1, 'e': 1, 't': 1, '4': 1, 'z': 1})
>>> count.update('b')
>>> count
Counter({'b': 5, 'n': 3, 'k': 3, 'a': 3, 's': 2, 'd': 2, 'o': 2, 'f': 2, 'i': 2, 'l': 2, 'j': 2, 'g': 2, 'm': 1, 'u': 1, 'y': 1, 'w': 1, 'e': 1, 't': 1, '4': 1, 'z': 1})
>>> count.most_common(3)
[('b', 5), ('n', 3), ('k', 3)]
5.collections.UserDict
UserDict是纯python实现的字典类,用于给用户进行自定义类时继承使用的。