Python内置的集合包提供了几种专用的、灵活的集合类型,它们都是高性能的并提供 dict、list、tuple 和 set 的一般集合类型的替代方案。 该模块还定义描述不同类型集合功能的抽象基类。
Counter
Counter 是一个 dict 子类,可让您轻松计算对象。 它具有用于处理您正在计数的对象的频率。
import collections
counts = collections.Counter([1, 2, 3, 2, 2, 2, 3])
print(counts)
输出:
Counter({2: 4, 3: 2, 1: 1})
上面的代码创建了一个对象,counts,它具有传递给构造函数的所有元素的频率。
cnts= collections.Counter(‘Hello World’)
print(cnts)
输出:
Counter({‘l’: 3, ‘o’: 2, ‘H’: 1, ‘e’: 1, ’ ': 1, ‘W’: 1, ‘r’: 1, ‘d’: 1})
cnts= collections.Counter(‘I am Sam Sam I am That Sam-I-am That Sam-I-am! I do not like that Sam-Iam’.split())
print(cnts)
输出:
Counter({‘I’: 3, ‘am’: 2, ‘Sam’: 2, ‘That’: 2, ‘Sam-I-am’: 1, ‘Sam-I-am!’: 1, ‘do’: 1, ‘not’: 1, ‘like’: 1, ‘that’: 1, ‘Sam-Iam’: 1})