问题
我们有多个字典或映射, 想在逻辑上将它们合并为一个单独的映射结构,以此执行某些特定的操作
解决方案
假设有两个字典:
a = {'x' :1, 'y':4}
b = {'y':2, 'z':3}
有种简单的方法是利用collections
模块中的ChainMap
类来解决
from collections import ChainMap
c = ChainMap(a,b)
print(c['x']) # 1
print(c['y']) # 4
print(c['z']) # 3
讨论
如果两个字典或映射有重复的键,那么这里会采用第一个映射中所对应的值.
修改映射的操作总是会作用在第一个映射结构上.