2 回答

TA贡献1780条经验 获得超4个赞
ChainMap
对于许多用例,collections.ChainMap足够并且高效(假设 Python 3.x):
from collections import ChainMap
n = ChainMap(x, y, z)
n['two'] # 2
n['thirteen'] # 13
如果你需要一本字典,只需调用dict上ChainMap的对象:
d = dict(n)
字典解包
使用 Python 3.x ( PEP448 ),您可以在定义新字典时解压缩字典:
d = {**x, **y, **z}

TA贡献1893条经验 获得超10个赞
在这样的循环中使用 dict 自己的更新方法:
x = {'six':6,'thirteen':13,'fifty five':55}
y = {'two': 2, 'four': 4, 'three': 3, 'one': 1, 'zero': 0,'ten': 10}
z = {'nine': 9, 'four': 4, 'three': 3, 'eleven': 11, 'zero': 0, 'seven':7}
n = {}
for e in [x,y,z]:
n.update(e)
如果你只有几个 dicts,它会很快。但是如果你有几个字典(例如超过 20 个),最好使用 locals()。
n = {}
for e in "xyz":
n.update(locals()[e])
或者,如果您使用 python3,则有一种更简单的方法:
n = {**x, **y, **z}
添加回答
举报