如果我有两个看起来像这样的字典:
a = {"fruit":["orange", "lemon"], "vegetable":["carrot", "tomato"]}
b = {"fruit":["banana", "lime"]}
有没有一种方法可以更新字典'a',以便不覆盖以前的数据,而仅附加它以使我的结果看起来像这样?
a = {"fruit":["orange", "lemon", "banana", "lime"], "vegetable": ["carrot", "tomato"]}
我知道有类似的东西,但是不幸的是它重写了值,这不是我想要做的:
a.update(b)
#returns a dictionary like the following {"fruit":["banana", "lime"], "vegetable":["carrot","tomato"]}, again, not what I want.
最佳答案
没有循环就没有办法:
for k, v in b.items():
a[k].extend(v)
这假定
a[k]
实际上存在。 。 。如果要在丢失的情况下添加它:for k, v in b.items():
try:
a[k].extend(v)
except KeyError:
a[k] = v
关于python - 更新字典而不会丢失数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25852784/