Union of dict objects in Python [duplicate]
This question provides an idiom. You use one of the dicts as keyword arguments to the dict()
constructor:
dict(y, **x)
Duplicates are resolved in favor of the value in x
; for example
dict({'a' : 'y[a]'}, **{'a', 'x[a]'}) == {'a' : 'x[a]'}
Two dictionaries
def union2(dict1, dict2): return dict(list(dict1.items()) + list(dict2.items()))
n dictionaries
def union(*dicts): return dict(itertools.chain.from_iterable(dct.items() for dct in dicts))