2017-10-06 89 views
-1

想查找汇总统计我有一本字典:为具有多个值的Python字典

a_dic = {'file1':["a","b","c"], 
    'file2':["b","c","d"], 
    'file3':["c","d","e"]} 

我想编写一个函数能够返回字典/数据框中找到像按键的发生:

occurrence = {'a':1, 'b':2, 'c':3, 'd':2,'e':1} 
+0

是您的代码不工作? – nutmeg64

回答

0

随着collections.Counter对象和itertools.chain.from_iterable功能:

import collections, itertools 

a_dic = {'file1':["a","b","c"], 'file2':["b","c","d"], 'file3':["c","d","e"]} 
result = dict(collections.Counter(itertools.chain.from_iterable(a_dic.values()))) 

print(result) 

输出:

{'c': 3, 'e': 1, 'b': 2, 'd': 2, 'a': 1} 
0
from collections import Counter 
flat_list = [item for sublist in (a_dic.values()) for item in sublist] 
print(Counter(flat_list)) 

输出

Counter({'c': 3, 'b': 2, 'd': 2, 'a': 1, 'e': 1}) 
相关问题