counter():是对字典的补充,用来方便的计数,继承了字典
import collections
obj = collections.Counter('yigbavfsdcfdsfdsd')
print(obj)
结果:
Counter({'d': 4, 'f': 3, 's': 3, 'y': 1, 'i': 1, 'g': 1, 'b': 1, 'a': 1, 'v': 1, 'c': 1})
x.most_common():按照counter计数,以列表的形式降序返回前n项元素
import collections
obj = collections.Counter('yigbavfsdcfdsfdsd')
print(obj)
print(obj.most_common(4))
结果:
Counter({'d': 4, 'f': 3, 's': 3, 'y': 1, 'i': 1, 'g': 1, 'b': 1, 'a': 1, 'v': 1, 'c': 1})
[('d', 4), ('f', 3), ('s', 3), ('y', 1)]
x.element():按照Counter的计数返回元素
import collections
obj = collections.Counter('yigbavfsdcfdsfdsd')
for k in obj.elements():
print(k)
结果:
y
i
g
b
a
v
f
f
f
s
s
s
d
d
d
d
c
x.update():更新计数器,在原来的基础上增加或者修改
x.subtract():在原计数器的基础上减少元素,没有的记为负
import collections
obj = collections.Counter(['', 'we', '', ''])
print(obj)
obj.update(['zhao', '', 'qq', '', ])
print(obj)
obj.subtract(['zhao', '', 'qq', 'lihao', ])
print(obj)
结果: Counter({'33': 2, 'we': 1, '11': 1}) Counter({'11': 3, '33': 2, 'we': 1, 'zhao': 1, 'qq': 1})
Counter({'33': 2, '11': 2, 'we': 1, 'zhao': 0, 'qq': 0, 'lihao': -1})