我正在寻找更新字典的最有效和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/