Tengo un diccionario python dict1
con más de 20,000 claves y quiero update
con otro diccionario dict2
. Los diccionarios se ven así:inserte o actualice las claves en un diccionario python
dict1
key11=>[value11]
key12=>[value12]
...
...
keyxyz=>[value1x] //common key
...... so on
dict2
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value2x] // common key
........ so on
si uso
dict1.update(dict2)
continuación, las teclas de dict1
que son similares a las teclas de dict2
tendrán sus valores sobrescritos por los valores de dict2
. Lo que quiero es que si una clave ya está presente en dict1, entonces el valor de esa clave en dict2 debe agregarse al valor de dict1. Así
dict1.conditionalUpdate(dict2)
debería resultar en
dict1
key11=>[value11]
key12=>[value12]
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value1x,value2x]
Un método ingenuo sería iterar sobre las claves de dict2
para cada tecla de dict1
e insertar o las teclas de actualización. hay algun metodo mejor? ¿Admite python una estructura de datos integrada que admita este tipo de funcionalidad?
Aquí hay una solución a una pregunta similar ya publicada. http://stackoverflow.com/questions/38987/how-can-i-merge-two-python-dictionaries-as-a-single-expression – ronyswag
@ronyswag Esa no es la misma pregunta. –