我有兩本詞典:
d1 = {'Cat': {'White': 1}, 'Dog': {'Brown': 4, 'White': 2}}
d2 = {'Cat': {'Grey': 6, 'White': 3}, 'Rabbit': {'Brown': 4, 'White': 2}}
我想將這些字典合并到一個字典中,同時更新 d1 和 d2 子字典中常見值的值,以匹配 d1 和 d2 中的鍵。
所以如果我結合 d1 和 d2,我想得到:
combined = {'Cat': {'Grey': 6, 'White': 4}, 'Dog': {'Brown': 4, 'White': 2}, 'Rabbit': {'Brown': 4, 'White': 2}}
我是 python 的新手,所以感謝任何幫助。
uj5u.com熱心網友回復:
我想還有一個用于此目的的模塊(例如集合模塊-> 計數器),但這是一種解決方案:
def combine_dicts(d1, d2):
combined = {}
for key in d1:
combined[key] = {}
for key2 in d1[key]:
combined[key][key2] = d1[key][key2]
for key in d2:
if key in combined:
for key2 in d2[key]:
if key2 in combined[key]:
combined[key][key2] = d2[key][key2]
else:
combined[key][key2] = d2[key][key2]
else:
combined[key] = {}
for key2 in d2[key]:
combined[key][key2] = d2[key][key2]
return combined
d1 = {'Cat': {'White': 1}, 'Dog': {'Brown': 4, 'White': 2}}
d2 = {'Cat': {'Grey': 6, 'White': 3}, 'Rabbit': {'Brown': 4, 'White': 2}}
print(combine_dicts(d1, d2))
Output: {'Cat': {'White': 4, 'Grey': 6}, 'Dog': {'Brown': 4, 'White': 2}, 'Rabbit': {'Brown': 4, 'White': 2}}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/358187.html
下一篇:基于字典資訊的標注坐標
