合并字典而不覆盖

我正在尝试将字典组合成一个字典,同时保留以前的值。


我在下面提供了一个示例代码。理想情况下,我正在尝试完成以下任务:


dict3 = {"dict1" : {"North America" : "United States" , "Europe" : "France" , "Asia" : "China" }, "dict2" : {"North America" : "Canada" , "Europe" : "Spain" , "Asia" : "Japan"}}

dict1 = {"North America" : "United States" , "Europe" : "France" , "Asia" : "China"}

dict2 = {"North America" : "Canada" , "Europe" : "Spain" , "Asia" : "Japan"}

dict3 = {}

targetdict = {"dict1" : {"North America" : "United States" , "Europe" : "France" , "Asia" : "China" }, "dict2" : {"North America" : "Canada" , "Europe" : "Spain" , "Asia" : "Japan"}}


dict3.update(dict1)

print(dict3)

dict3.update(dict2)

print(dict3)

我希望 dict3 与 targetdict 相同。所以有效地 print(dict3) 与 print(targetdict) 的结果相同。


我希望将许多潜在的字典添加到“dict3”变量中,例如,所有字典都可以将“北美”作为键。任何反馈将不胜感激!


胡子哥哥
浏览 106回答 3
3回答

HUX布斯

你可以使用:dict3['dict1'] = dict1dict3['dict2'] = dict2

米脂

为什么不直接从其他两个定义 dict3 ?dict3 = {"dict1":dict1, "dict2":dict2}

杨魅力

以相反的顺序执行:dict3.update(dict2)dict3.update(dict1)print(dict3)dict.upgrade()总是覆盖键。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go