python的Counter类

时间:2023-03-08 22:07:35

python的Counter类

Counter 集成于 dict 类,因此也可以使用字典的方法,此类返回一个以元素为 key 、元素个数为 value 的 Counter 对象集合

from collections import Counter

s = "aabbccr"
count = Counter(s) print(count) 结果:
Counter({'a': 2, 'b': 2, 'c': 2, 'r': 1})

elements() 返回一个迭代器

from collections import Counter

s = "aabbccr"
count = Counter(s) res = count.elements() print(res) for k in res:
print(k) 结果:
<itertools.chain object at 0x000001A20ADB2DD8>
a
a
b
b
c
c
r

most_common(n) 返回数量最多的前 n 个元素

from collections import Counter

s = "aabbccr"
count = Counter(s) res = count.most_common()
print(res) res = count.most_common(2)
print(res) 结果:
[('a', 2), ('b', 2), ('c', 2), ('r', 1)]
[('a', 2), ('b', 2)]

subtract() 相当于减法,调用这个方法的 Counter 会被覆盖掉

from collections import Counter

d1 = Counter({'a':1,'b':2,'c':6,'d':9})
d2 = Counter({'a':0,'b':1,'c':7,'d':9}) d1.subtract(d2) print(d1)
print(d2) 结果:
Counter({'a': 1, 'b': 1, 'd': 0, 'c': -1})
Counter({'d': 9, 'c': 7, 'b': 1, 'a': 0})