import collections
a = {'a': 'A', 'c': 'C'}
b = {'b': 'B', 'c': 'D'}

m = collections.ChainMap(a,b)
print(m)
"""
output:
ChainMap({'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'})
[{'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}]

"""
print(m.maps)
print('c = {}\n'.format(m['c']))

# reverse the list
m.maps = list(reversed(m.maps))

print(m.maps)
print('c = {}'.format(m['c']))

"""
[{'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}]
c = C

[{'b': 'B', 'c': 'D'}, {'a': 'A', 'c': 'C'}]
c = D
"""




import collections
a = {'a': 'A', 'c': 'C'}
b = {'b': 'B', 'c': 'D'}

m = collections.ChainMap(a,b)
print(m)
"""
output:
ChainMap({'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'})
[{'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}]

"""
print(m.maps)
print('c = {}\n'.format(m['c']))

# reverse the list
m.maps = list(reversed(m.maps))

print(m.maps)
print('c = {}'.format(m['c']))

"""
[{'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}]
c = C

[{'b': 'B', 'c': 'D'}, {'a': 'A', 'c': 'C'}]
c = D
"""




output: ChainMap({'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}) [{'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}] # reverse the list [{'a': 'A', 'c': 'C'}, {'b': 'B', 'c': 'D'}] c = C  [{'b': 'B', 'c': 'D'}, {'a': 'A', 'c': 'C'}] c = D