【发布时间】:2012-05-17 11:40:58
【问题描述】:
我有一个 python 字典 dict1 有超过 20,000 个键,我想用另一个字典 dict2 update 它。字典如下所示:
dict1
key11=>[value11]
key12=>[value12]
...
...
keyxyz=>[value1x] //common key
...... so on
dict2
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value2x] // common key
........ so on
如果我使用
dict1.update(dict2)
那么与dict2 的键相似的dict1 的键的值将被dict2 的值覆盖。我想要的是,如果 dict1 中已经存在一个键,那么 dict2 中该键的值应该附加到 dict1 的值。所以
dict1.conditionalUpdate(dict2)
应该会导致
dict1
key11=>[value11]
key12=>[value12]
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value1x,value2x]
一种简单的方法是为dict1 的每个键迭代dict2 的键并插入或更新键。有没有更好的方法? python 是否支持支持这种功能的内置数据结构?
【问题讨论】:
-
这里是已经发布的类似问题的解决方案。 stackoverflow.com/questions/38987/…
-
@ronyswag 这不是同一个问题。
标签: python algorithm dictionary