Ich habe ein Python-Wörterbuch dict1
mit mehr als 20.000 Tasten und ich möchte update
es mit einem anderen Wörterbuch dict2
. Die Wörterbücher wie folgt aussehen:Einfügen oder Aktualisieren von Schlüsseln in einem Python-Wörterbuch
dict1
key11=>[value11]
key12=>[value12]
...
...
keyxyz=>[value1x] //common key
...... so on
dict2
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value2x] // common key
........ so on
Wenn ich
dict1.update(dict2)
verwenden dann die Tasten dict1
, die Tasten von dict2
ähnlich sind, werden ihre Werte durch Werte von dict2
überschrieben haben. Was ich will ist, wenn eine Taste bereits in dict1 vorhanden ist, dann sollte der Wert dieser Taste in dict2 an den Wert von dict1 angehängt werden. So
dict1.conditionalUpdate(dict2)
sollte in Folge
dict1
key11=>[value11]
key12=>[value12]
key21=>[value21]
key22=>[value22]
...
...
keyxyz=>[value1x,value2x]
Eine naive Methode für jede Tonart dict1
Schlüssel dict2
iterieren würde und Einfügen oder Aktualisieren von Schlüsseln. Gibt es eine bessere Methode? Unterstützt Python eine eingebaute Datenstruktur, die diese Art von Funktionalität unterstützt?
Hier ist eine Lösung für eine ähnliche Frage bereits geschrieben. http://stackoverflow.com/questions/38987/how-can-i-merge-two-python-dictionaries-as-a-single-expression – ronyswag
@ronyswag Das ist nicht die gleiche Frage. –