python collections模块 计数器(counter)

Posted minger_lcm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python collections模块 计数器(counter)相关的知识,希望对你有一定的参考价值。

 

 

一、计数器(counter)

Counter是对字典类型的补充,用于追踪值的出现次数。

ps:具备字典的所有功能 + 自己的功能

 

把我写入的元素出现的多少次都计算出来
import collections

# 创建一个Counter对象
obj = collections.Counter(ddccbbqqaaa)
print(obj)


‘‘‘
把我写入的元素出现的多少次都计算出来
Counter({‘a‘: 3, ‘d‘: 2, ‘c‘: 2, ‘b‘: 2, ‘q‘: 2})

‘‘‘

 

 

obj.most_common() 
要取多少得值
import collections

# 创建一个Counter对象
obj = collections.Counter(ddccbbqqaaa)
print(obj)


‘‘‘
把我写入的元素出现的多少次都计算出来
Counter({‘a‘: 3, ‘d‘: 2, ‘c‘: 2, ‘b‘: 2, ‘q‘: 2})

‘‘‘



ret = obj.most_common(4)
print(ret)

# 取前4位
# [(‘a‘, 3), (‘d‘, 2), (‘c‘, 2), (‘b‘, 2)]

 

循环字典

import collections

# 创建一个Counter对象
obj = collections.Counter(ddccbbqqaaa)
print(obj)

# Counter({‘a‘: 3, ‘d‘: 2, ‘c‘: 2, ‘b‘: 2, ‘q‘: 2})

#  循环 字典

for i in obj:
    print(i,obj[i])

‘‘‘
d 2
c 2
b 2
q 2
a 3
‘‘‘

 

 

elements() 传的是原生的值
import collections

# 创建一个Counter对象
obj = collections.Counter("dd")

# elements() 传的是原生的值
print(list(obj.elements()))

# [‘d‘, ‘d‘]

obj = collections.Counter([1,2,3,4])

print(list(obj.elements()))
# [‘1‘, ‘2‘, ‘3‘, ‘4‘]

 

update() 更新计数器 增加
在原来基础上添加
import collections

# 创建一个Counter对象


obj = collections.Counter([11,22,22,44])

print(obj)
# Counter({‘22‘: 2, ‘11‘: 1, ‘44‘: 1})

# update() 更新计数器
obj.update(["11","11","eric"])
print(obj)
# Counter({‘11‘: 3, ‘22‘: 2, ‘44‘: 1, ‘eric‘: 1})

 

 

subtract()
删除

原来的计数器中的每一个元素的数量减去后添加的元素的数量
 
import collections

# 创建一个Counter对象


obj = collections.Counter([11,22,22,44])

print(obj)
# Counter({‘22‘: 2, ‘11‘: 1, ‘44‘: 1})

# update() 更新计数器
obj.update(["11","11","eric"])
print(obj)
# Counter({‘11‘: 3, ‘22‘: 2, ‘44‘: 1, ‘eric‘: 1})

obj.subtract([eric])
print(obj)

# Counter({‘11‘: 3, ‘22‘: 2, ‘44‘: 1, ‘eric‘: 0})

 

 

import collections

# 创建一个Counter对象


obj = collections.Counter([11,22,22,44])

print(obj)
# Counter({‘22‘: 2, ‘11‘: 1, ‘44‘: 1})


obj.subtract([eric,22,22,22])
print(obj)

# Counter({‘11‘: 1, ‘44‘: 1, ‘22‘: -1, ‘eric‘: -1})

 






以上是关于python collections模块 计数器(counter)的主要内容,如果未能解决你的问题,请参考以下文章

Python collections模块实例

python模块之collections

python模块之collections

python-30 collections 模块

python collections 模块

python collection 和 heapq 模块使用说明