Counter在python中两种用法

Counter在python中两种用法
Counter在python中两种用法

此映射类型为键准备了一个整数计数器。每更新一次键,该计数器就增加一次。因此,此类型可用于为可散列表对象计数,或将其作为多重集合使用——多重集合就是集合中的元素可以多次出现。

1、Counter 实现了 + 和 – 运算符用来合并记录,还有像 most_common([n]) 这类很有用的方法。most_common([n]) 会按照次序返回映射里最常见的 n 个键和它们的计数。

In [1]: from collections import Counter
 
In [2]: langs = ['java', 'php', 'python', 'C#', 'kotlin', 'swift', 'python']
 
In [3]: ct = Counter(langs)
 
In [4]: ct
Out[4]: Counter({'C#': 1, 'java': 1, 'kotlin': 1, 'php': 1, 'python': 2, 'swift': 1})
 
In [5]: ct.update(['java', 'c'])
 
In [6]: ct
Out[6]:
Counter({'C#': 1,
         'c': 1,
         'java': 2,
         'kotlin': 1,
         'php': 1,
         'python': 2,
         'swift': 1})
 
In [7]: ct.most_common(2)
Out[7]: [('java', 2), ('python', 2)]

2、直接操作字符串

In [9]: ct = Counter('abracadabra')
 
In [10]: ct
Out[10]: Counter({'a': 5, 'b': 2, 'c': 1, 'd': 1, 'r': 2})
 
In [11]: ct.update('aaaaazzz')
 
In [12]: ct
Out[12]: Counter({'a': 10, 'b': 2, 'c': 1, 'd': 1, 'r': 2, 'z': 3})
 
In [13]: ct.most_common(2)
Out[13]: [('a', 10), ('z', 3)]

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注