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}
添加回答
舉報
