简介
在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等
1.namedtuple: 生成可以使用名字来访问元素内容的tuple
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
3.Counter: 计数器,主要用来计数
4.OrderedDict: 有序字典
5.defaultdict: 带有默认值的字典
自然语言中主要使用
Counter
Counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和负数)。Counter类和其他语言的bags或multisets很相似
>>> from collections import Counter
>>> Counter(['a', 'b', 'a', 'c'])
Counter({'a': 2, 'c': 1, 'b': 1})>>> Counter("winter is coming")
Counter({'i': 3, ' ': 2, 'n': 2, 'c': 1, 'e': 1, 'g': 1, 'm': 1, 'o': 1, 's': 1, 'r': 1, 't': 1, 'w': 1})