我正在寻找更新字典的最有效和pythonic(主要是有效的)方法,但是如果存在现有键,则保留旧值。例如...

myDict1 = {'1': ('3', '2'), '3': ('2', '1'), '2': ('3', '1')}
myDict2 = {'4': ('5', '2'), '5': ('2', '4'), '2': ('5', '4')}

myDict1.update(myDict2) gives me the following....

{'1': ('3', '2'), '3': ('2', '1'), '2': ('5', '4'), '5': ('2', '4'), '4': ('5', '2')}

请注意,键“2”在两个字典中如何存在并且曾经具有值(“3”,“1”),但是现在它具有myDict2中键(“5”,“4”)中的值?

有没有一种方法可以有效地更新字典,以使键“2”最终具有值(“3”,“1”,“5”,“4”)? #无特定顺序

提前致谢

最佳答案

我认为最有效的方法是这样的:

for k, v in myDict2.iteritems():
    myDict1[k] = myDict1.get(k, ()) + v

但是,不幸的是,您没有想要的update等效项。

关于python - 在添加到现有键的同时更新python词典?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16745529/

10-13 01:24