python - 嵌套字典的自动激活,其中包含要在 Python 中附加的列表
问题描述
我一直在尝试为 python 字典实现自动生存。我还参考了以下链接,这些链接帮助我实现了我想要的,但只是部分实现了。
这是我一直在尝试的示例
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}}}
但是我如何实现这一点,这很可能与collections.defaultdict
my_dict['a']['b']['c'].append(10)
我不想实现defaultdict,因为它是非人类可读的输出,而且它不能与 pickle 一起使用。
任何建议将不胜感激。
谢谢
解决方案
推荐阅读
- graph - 如何在 GTFS 数据上使用 Cypher 查询 (neo4j) 找到传输连接中的最短路径?
- html - 如何使用css将样式添加到后跟特定类的div的div?
- ios - iOS:如何在 Here 地图中获取速度和速度限制?
- c++ - 函数模板的默认参数不起作用
- java - 当项目部署在服务器上以及从测试类运行其类时,如何使文件可见?
- django - Django allauth 无效令牌错误未显示
- java - 编译器跳过字符串值数据成员
- javascript - 检查数组中的至少两个元素是否大于零 - JavaScript/Typescript
- r - 使用变量替换 R 中的确切字符串
- python - Python:将一个整数数组与 1 个空数组连接起来