有沒有簡單的方法來結合Python中的字典的兩個字典?這是我需要:結合詞典的兩個詞典(Python)
dict1 = {'A' : {'B' : 'C'}}
dict2 = {'A' : {'D' : 'E'}}
result = dict_union(dict1, dict2)
# => result = {'A' : {'B' : 'C', 'D' : 'E'}}
我創建了一個強力功能做的,但我一直在尋找一個更緊湊的解決方案:
def dict_union(train, wagon):
for key, val in wagon.iteritems():
if not isinstance(val, dict):
train[key] = val
else:
subdict = train.setdefault(key, {})
dict_union(subdict, val)
這不是一個'dict'結合。 – 2011-06-06 18:12:59
我不清楚你在結構不匹配時想要發生什麼。例如,如果dict3 = {'A':'F'},那麼在這裏使用你的版本,dict_union(dict3,dict2)會拋出一個TypeError。這是期望的行爲? – Cosmologicon 2011-06-06 18:25:21
相關(但更簡單):http://stackoverflow.com/questions/1031199/adding-dictionaries-in-python – Gilles 2012-01-17 13:29:05