首页 > 解决方案 > 如何使用计数器打印出字典中的计数值

问题描述

我的代码如下

def tuptodi(tup, dictio): 
    for a, b in tup: 
        dictio.setdefault(a, []).append(b) 
    return dictio
tups = [('key1', 'value1'), ('key2', 'value1'),('key3', 'value3'),('key1', 'value1'),('key1', 'value2')]
dictionary = {} 
print (tuptodi(tups, dictionary)) 

我的出局

{'key1': ['value1', 'value1', 'value2'], 'key2': ['value1'], 'key3': ['value3']}

我想要的Out

{'key1':{'value1':2},
{'key2':{'value1':1},
{'key3':{'value3':1}

如何通过from collections import Counter

标签: pythondictionary

解决方案


Counter在听写理解中使用:

from collections import Counter

data = {'key1': ['value1', 'value1', 'value2'], 'key2': ['value1'], 'key3': ['value3']}
out  = {key: Counter(sublist) for key, sublist in data.items()}

print(out)
# {'key1': Counter({'value1': 2, 'value2': 1}), 
#  'key2': Counter({'value1': 1}), 
#  'key3': Counter({'value3': 1})}

推荐阅读