I want to create a finalDic which contains common keys and sum of their values
myDic = [{2:1, 3:1, 5:2}, {3:4, 6:4, 2:3}, {2:5, 3:6}, ...]
First find common keys
commonkey = [{2:1, 3:1}, {2:3, 3:4}, {2:5, 3:6}]
Then Sum and sort by their values
finalDic= {3:11, 2,9}
I’ve tried this and not even close what i want
import collections
myDic = [{2:1, 3:1, 5:2}, {3:4, 6:4, 2:3}, {2:5, 3:6}]
def commonKey(x):
i=0
allKeys = []
while i<len(x):
for key in x[0].keys():
allKeys.append(key)
i=i+1
commonKeys = collections.Counter(allKeys)
commonKeys = [i for i in commonKeys if commonKeys[i]>len(x)-1]
return commonKeys
print commonKey(myDic)
Thanks
Here’s how I’d do it:
Or as a crazy one-liner: