小编典典

如何在Python中将列表转换为嵌套字典

python

需要转动x:

X = [['A', 'B', 'C'], ['A', 'B', 'D']]

进入Y:

Y = {'A': {'B': {'C','D'}}}

更具体地说,我需要从绝对路径列表中创建一棵文件夹和文件树,如下所示:

paths = ['xyz/123/file.txt', 'abc/456/otherfile.txt']

其中,每个路径为split("/"),如['A', 'B', 'C']伪示例中所示。

因为它代表文件和文件夹,所以显然,在同一级别(数组的索引)上,相同的名称字符串不能重复。


阅读 222

收藏
2021-01-20

共1个答案

小编典典

X = [['A', 'B', 'C'], ['A', 'B', 'D'],['W','X'],['W','Y','Z']]
d = {}

for path in X:
    current_level = d
    for part in path:
        if part not in current_level:
            current_level[part] = {}
        current_level = current_level[part]

这给我们留下了d {'A': {'B': {'C': {}, 'D': {}}}, 'W': {'Y': {'Z': {}}, 'X': {}}}。包含空字典的任何项目都是文件或目录。

2021-01-20