如何在python中使用默认值定义多维字典?

时间:2016-10-13 13:57:58

标签: python dictionary autovivification

我想修改下一个dict定义:

class Vividict(dict):
      def __missing__(self, key):
           value = self[key] = type(self)()
           return value

能够以下一种方式使用它:

totals[year][month] += amount    

2 个答案:

答案 0 :(得分:2)

collections.defaultdictcollections.Counter一起使用。

from collections import defaultdict, Counter

d = defaultdict(Counter)
d['year']['month'] += 1

答案 1 :(得分:0)

最后我使用了Counter和元组作为键。