import collections
d1 = {'a': 'AA', 'b': '***', 'c': 'CC'}
d2 = {'b': 'BB', 'f': 'GG'}
d3 = {'e' : 'EE'}
cm1 = collections.ChainMap(d1, d2)
cm2 = cm1.new_child(d3)
print('cm1:', cm1)
print('cm2:', cm2)
'''
run:
cm1: ChainMap({'a': 'AA', 'b': '***', 'c': 'CC'}, {'b': 'BB', 'f': 'GG'})
cm2: ChainMap({'e': 'EE'}, {'a': 'AA', 'b': '***', 'c': 'CC'}, {'b': 'BB', 'f': 'GG'})
'''