Ho un dizionario python dict1
con più di 20.000 chiavi e voglio update
con un altro dizionario dict2
. I dizionari di simile a questa:inserire o aggiornare le chiavi in un dizionario python
dict1
key11=>[value11]
key12=>[value12]
...
...
keyxyz=>[value1x] //common key
...... so on
dict2
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value2x] // common key
........ so on
se uso
dict1.update(dict2)
poi le chiavi del dict1
che sono simili alle chiavi di dict2
avranno i loro valori sovrascritti da valori di dict2
. Quello che voglio è se una chiave è già presente in dict1 quindi il valore di quella chiave in dict2 dovrebbe essere aggiunto al valore di dict1. Così
dict1.conditionalUpdate(dict2)
dovrebbe comportare
dict1
key11=>[value11]
key12=>[value12]
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value1x,value2x]
Metodo naive sarebbe iterazione di chiavi di dict2
per ogni chiave di dict1
e inserire o chiavi di aggiornamento. C'è un metodo migliore? Python supporta una struttura dati incorporata che supporta questo tipo di funzionalità?
Ecco una soluzione a una domanda simile già pubblicata. http://stackoverflow.com/questions/38987/how-can-i-merge-two-python-dictionaries-as-a-single-expression – ronyswag
@ronyswag Questa non è la stessa domanda. –