Skip to main content
 首页 » 编程设计

python运行字典中的值计数

2025年05月04日10shihaiming

我有这样的字典

d = {1:'Bob', 2:'Joe', 3:'Bob', 4:'Bill', 5:'Bill'} 

我想记录每个名称作为字典值出现的次数。所以,输出应该是这样的:

d = {1:['Bob', 1], 2:['Joe',1], 3:['Bob', 2], 4:['Bill',1] , 5:['Bill',2]} 

请您参考如下方法:

一种计算所需值的方法如下所示:

from collections import Counter 
 
 
d = {1:'Bob',2:'Joe',3:'Bob', 4:'Bill', 5:'Bill'} 
 
 
c = Counter() 
new_d = {} 
 
for k in sorted(d.keys()): 
    name = d[k] 
    c[name] += 1;   
    new_d[k] = [name, c[name]] 
 
print(new_d)   
# {1: ['Bob', 1], 2: ['Joe', 1], 3: ['Bob', 2], 4: ['Bill', 1], 5: ['Bill', 2]} 

这里我使用Counter跟踪输入字典中出现的名称。希望这可以帮助。也许不是最优雅的代码,但它确实有效。