gpt4 book ai didi

python - 从路径名制作树结构

转载 作者:行者123 更新时间:2023-12-04 11:59:52 25 4
gpt4 key购买 nike

这可能非常简单,但我不确定在这里做什么。
在 Python 中,我想查看如下列表:

full_list = ["A/A/A", "A/A/B", "B/B/B", "A/C/B"]
并根据这些标签获得具有一种树结构的字典,如下所示:
dictionary = {"A:{"A":["A", "B"], "C":["B"]},"B":{"B":["B]}} 
但我不知道该怎么做。我意识到我需要一些嵌套的 for 循环。我知道 Python 中的 split() 函数。

最佳答案

您可以通过 collections.defaultdict 使用递归:

from collections import defaultdict
def to_tree(data):
d = defaultdict(list)
for a, *b in data:
d[a].append(b)
return {a:[i for [i] in b] if all(len(i) == 1 for i in b) else to_tree(b)
for a, b in d.items()}

full_list = ["A/A/A", "A/A/B", "B/B/B", "A/C/B"]
result = to_tree([i.split('/') for i in full_list])
输出:
{'A': {'A': ['A', 'B'], 'C': ['B']}, 'B': {'B': ['B']}}

关于python - 从路径名制作树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68288832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com