(no title)
bathyspheric | 8 years ago
from collections import ChainMap
a, b, c = {'a': 1}, {'b': 12, 'c': 13}, {'c': 23}
d = ChainMap(a, b, c) # ChainMap({'a': 1}, {'b': 12, 'c': 13}, {'c': 23})
e = ChainMap(c, b, a) # ChainMap({'c': 23}, {'b': 12, 'c': 13}, {'a': 1})
# Lookups cascade
d['c'] # -> 13
e['c'] # -> 23
# Updates mutate first dict
d['c'] = 1003 # ChainMap({'a': 1, 'c': 1003}, {'b': 12, 'c': 13}, {'c': 23})
d['c'] # 1003
e['c'] # 23
a # {'a': 1, 'c': 1003}
Python 3.3+ https://docs.python.org/3/library/collections.html#collectio...
sametmax|8 years ago