У меня есть несколько словарей, которые я хотел бы комбинировать таким образом, что если ключ находится в нескольких словарях, значения складываются вместе. Например:Объединить словари и добавить значения
d1 = {1: 10, 2: 20, 3: 30}
d2 = {1: 1, 2: 2, 3: 3}
d3 = {0: 0}
merged = {1: 11, 2: 22, 3: 33, 0: 0}
Каков наилучший способ сделать это в Python? Я смотрел на defaultdict и пытался что-то придумать. Я использую Python 2.6.
Ни один из них на самом деле не дублирует. – sloth
@Bakuriu: Я думаю, что оба они разные - первый не делает арифметику Counter-like, а второй, похоже, не имеет в виду потерю ключей с нулевыми значениями. (Что на самом деле меня удивляет - до сегодняшнего дня я никогда не знал, что объекты «Counter» сбросили нулевые ключи при выполнении арифметики.) – DSM
[Здесь] (http://hg.python.org/cpython/file/ 2.7/Lib/collections.py # l598) соответствующую строку. – sloth