我一直在尝试为python字典实现自动激活。我也提到了下面的链接,这有助于我实现我想要的,但部分。你知道吗
What is the best way to implement nested dictionaries?
How to implement autovivification for nested dictionary ONLY when assigning values?
这就是我一直在尝试的例子
class MyDict(dict):
def __setitem__(self, keys, value):
if not isinstance(keys, tuple):
return dict.__setitem__(self, keys, value)
for key in keys[:-1]:
self = self.setdefault(key, {})
dict.__setitem__(self, keys[-1], value)
这适用于正常情况,例如
my_dict = MyDict()
my_dict['a','b','c']=10
结果是:{'a': {'b': {'c': 10}}}
但是如何实现这一点,这在集合.defaultdict
my_dict['a']['b']['c'].append(10)
我不想实现defaultdict,因为它的输出是不可读的,而且它不能与pickle一起工作。你知道吗
如有任何建议,将不胜感激。你知道吗
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐