вставка или обновление ключей в словаре Python

У меня есть словарь Python dict1с более чем 20 000 ключей, и я хочу обновить это с другим словарем dict2. Словари выглядят следующим образом:

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)

, то значения ключей dict1, которые аналогичны ключам dict2, будут перезаписаны значениями . дикт2. Что я хочу, так это то, что если ключ уже присутствует в dict1, то значение этого ключа в dict2 должно быть добавлено к значению dict1. Таким образом,

dict1.conditionalUpdate(dict2)

должно привести к

dict1
  key11=>[value11]
  key12=>[value12]
  key21=>[value21]
  key22=>[value22]
  ...
  ...
  keyxyz=>[value1x,value2x]

. Наивным методом будет перебор ключей dict2для каждого ключа dict1и вставка или обновление ключей. Есть ли лучший метод? Поддерживает ли python встроенную структуру данных, поддерживающую такую ​​функциональность?

8
задан Bo. 17 May 2012 в 14:07
поделиться