如何用Python将多个文件系统路径列表转为嵌套字典?
将路径列表转换为嵌套字典的Python实现
实现思路
遍历每个路径列表,逐层构建嵌套字典:从根字典出发,沿着路径的每个节点往下遍历,若节点不存在则创建空字典,直到走完整个路径的所有节点。
代码实现
def build_nested_dict(paths): result = {} for path in paths: current = result for part in path: # 若当前节点不存在,创建空字典 if part not in current: current[part] = {} # 进入下一层字典 current = current[part] return result # 示例输入路径集合 paths = [ ["root_path", "Test", "Subfolder1"], ["root_path", "Test", "Subfolder2"], ["root_path", "Test", "Subfolder3"], ["root_path", "Test", "Subfolder1", "Subfolder1-1"], ["root_path", "Test", "Subfolder1", "Subfolder1-1", "Subfolder1-1-1"] ] # 生成嵌套字典 resulting_dict = build_nested_dict(paths)
输出结果
执行上述代码后,resulting_dict的结构与期望完全一致:
{ "root_path": { "Test": { "Subfolder1": { "Subfolder1-1": { "Subfolder1-1-1": {} } }, "Subfolder2": {}, "Subfolder3": {}, } } }
代码说明
result作为最终嵌套字典的根容器,初始为空current变量用于跟踪当前操作的字典层级,避免直接修改根字典- 外层循环遍历所有路径列表,内层循环处理单个路径的每个节点,确保每个路径的层级都被正确构建
内容的提问来源于stack exchange,提问作者kamaru510
相关产品推荐
相关产品推荐

