fork download
  1. from functools import reduce
  2.  
  3. d1 = {
  4. 'charm': 1,
  5. 'ccc': 2,
  6. 'hp': 3
  7. }
  8.  
  9. d2 = {
  10. 'charm': 2,
  11. 'hp': 4
  12. }
  13.  
  14. arr = [d1, d2]
  15.  
  16. def sumDict(v1, v2):
  17. allKeys = set(list(v1.keys()) + list(v2.keys())) #取所有key的聯集
  18. result = dict()
  19. for k in allKeys: #對所有key做壘加
  20. result[k] = v1.get(k, 0) + v2.get(k, 0) #給預設值
  21.  
  22. return result
  23.  
  24. print(reduce(sumDict, arr))
Success #stdin #stdout 0.02s 9284KB
stdin
Standard input is empty
stdout
{'charm', 'ccc', 'hp'}
{'charm': 3, 'ccc': 2, 'hp': 7}