Я хочу установить ключи и значения в словаре.Вот пример того, что я делаю.
class NestedDict(dict):
def __getitem__(self, key):
if key in self: return self.get(key)
return self.setdefault(key, NestedDict())
>>> c = NestedDict()
>>> c
{}
>>> c['a']['b'] = 'test'
>>> c['a']['c'] = 2
>>> c
{'a': {'c': 2, 'b': 'test'}}
>>> c['a']['c'] += 1
>>> c
{'a': {'c': 3, 'b': 'test'}}
>>> c['a']['d'] += 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +=: 'NestedDict' and 'int'
Есть идеи, как решить эту проблему?Я хочу быть в состоянии использовать + = и - =.Конечно, если значение не существует, то + = 1 это то же самое, что и = 1. Может быть, есть лучшее решение?
Спасибо.