Python: элегантно объединить словари с sum () значений [duplicate]

На этот вопрос уже есть ответ:

Есть ли какой-нибудь питонный способ объединить два слова (добавив значения для ключей, которые появляются в обоих)? 18 ответов

Я пытаюсь объединить журналы с нескольких серверов. Каждый журнал представляет собой список кортежей date, count).date может появляться более одного раза, и я хочу, чтобы полученный словарь содержал сумму всех подсчетов со всех серверов.

Вот моя попытка, с некоторыми данными, например:

from collections import defaultdict

a=[("13.5",100)]
b=[("14.5",100), ("15.5", 100)]
c=[("15.5",100), ("16.5", 100)]
input=[a,b,c]

output=defaultdict(int)
for d in input:
        for item in d:
           output[item[0]]+=item[1]
print dict(output)

Который дает

{'14.5': 100, '16.5': 100, '13.5': 100, '15.5': 200}

Как и ожидалось

Я собираюсь пойти на бананы из-за коллеги, который видел код. Она настаивает на том, что должен быть более питонский и элегантный способ сделать это без вложенных петель. Любые идеи

Ответы на вопрос(4)

Ваш ответ на вопрос