python的Counter类

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})
原文地址:https://www.cnblogs.com/zhufanyu/p/12895894.html