Collections模块下的Counter

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))

  

  

       

  

原文地址:https://www.cnblogs.com/baishoujing/p/7227940.html