python2合并多个字典

1
2
3
4
5
6
7
8
9
10
11

def union_dict(*objs):
_keys = set(sum([obj.keys() for obj in objs],[]))
_total = {}
for _key in _keys:
_total[_key] = sum([obj.get(_key,0) for obj in objs])
return _total

obj1 = {'a':1,'b':2,'c':3}
obj2 = {'a':1,'b':3,'d':4}
print union_dict(obj1,obj2)