Как определить многомерный словарь со значением по умолчанию в Python?
Я хотел бы изменить следующее определение dict:
class Vividict(dict):
def __missing__(self, key):
value = self[key] = type(self)()
return value
Чтобы иметь возможность использовать его следующим образом:
totals[year][month] += amount
2 ответа
Использование collections.defaultdict
с collections.Counter
,
from collections import defaultdict, Counter
d = defaultdict(Counter)
d['year']['month'] += 1