python - 如何快速分配一个python dict链?
问题描述
假设我要分配:
my_dict={}
my_dict['a'] = {}
my_dict['a']['b'] = {}
my_dict['a']['b']['c'] = 'd'
有没有快速的方法来做到这一点?像my_dict['a']['b']['c']='d'
什么?
解决方案
您可以使用递归 defaultdict 执行此操作:
from collections import defaultdict
def tree():
def the_tree():
return defaultdict(the_tree)
return the_tree()
将树包装在闭包(“私有”本地函数范围)中很重要。tree
如果名称被重新绑定或删除,这可以防止现有实例中断。
推荐阅读
- java - 我需要知道如何将方法的接口放入When() mockito 方法中
- javascript - 无法更改 innerHTML 属性
- javascript - 在 Puppeteer 中拦截请求时如何修改“表单数据”?
- c# - 在电子邮件正文中发送 pdf 文件
- entity-framework-core - 使用 GroupBy 时出现 System.InvalidOperationException
- python - 我如何将此项目附加到同一个列表,而不是每次循环时都创建一个新列表?
- java - Clojure 写入文件慢
- c++ - 如何创建指向函数指针的指针?
- angular - 我的角度函数没有在第一次调用时执行。它仅在第二次调用时执行
- sql - 将所有行移动为列