Union of dict objects in Python [duplicate] Union of dict objects in Python [duplicate] python python

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]'}


You can also use update method of dict like

a = {'a' : 0, 'b' : 1}b = {'c' : 2}a.update(b)print 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))