class Counter(dict)
这个类是dict的子类,对哈希类型的项进行计数,元素被存储为字典的键,他们的计数将作为字典的键值。
主要介绍两个方法:
1.初始化方法:__init__(*args,**kwds)
该方法可以接收一个可迭代的输入对象来计数每个元素,也可以从另一个映射(元素与其的计数)中进行初始化。
官方例子:
运行结果如下:
2.most_common(n)
该方法用来列出最常见的元素,n默认为None,将会列出所有的元素。
来自Django源码的很好的应用例子用来学习一下,应用了生成器表达式,而且应用了for in if的语句组合:
counts = Counter(
app_config.name for app_config in self.app_configs.values())
duplicates = [
name for name, count in counts.most_common() if count > 1]
if duplicates:
raise ImproperlyConfigured(
"Application names aren't unique, "
"duplicates: %s" % ", ".join(duplicates))