【发布时间】:2021-06-14 18:02:04
【问题描述】:
我有这个数据结构,一个由列表组成的字典(一种树结构),其中的字母是短语:
dict = {
'A': [ ['A1', ['A2'], ['A3', ['A4'], ['A5'] ] ],
'B': [ ['B1', ['B2'] ],
'C': [ ['C1', ['C2', ['C3'] ], ['C4'] ] ]
}
我需要的是一个函数,它返回“从根到叶的元素列表列表”。
换句话说,我需要沿着每条路径探索整个树,连接重建对话的短语。
这个树形结构是通过爬取 Reddit 构建的,因此每条路径都是一系列答案,因此是一个对话。
对于键“B”,有 1 个可能的序列:['B1', 'B2'](dict 键不相关)。
对于键 'A',有 3 个可能的序列:['A1', 'A2'], ['A1', 'A3', 'A4'], ['A1', 'A3', 'A5' ]
对于键 'C',有 2 个可能的序列:['C1', 'C2', 'C3'], ['C1', 'C4']
这个问题很难形式化,我希望这些序列是正确的:)
所以,我期望的是这个输出,一个包含树中所有可能序列的列表,以短语列表的形式:
[
['A1', 'A2'],
['A1', 'A3', 'A4'],
['A1', 'A3', 'A5'],
['B1', 'B2'],
['C1', 'C2', 'C3'],
['C1', 'C4']
]
我不需要结果列表中的任何特定顺序,我只需要序列。
非常感谢,每一个帮助都将不胜感激!
【问题讨论】:
-
欢迎来到 StackOverflow。展示您迄今为止尝试过的内容(代码),并具体说明哪个部分给您带来了麻烦。
-
您好,谢谢。我没有要发布的代码,因为我很难理解如何实现结果。我尝试了迭代和递归方法,但没有成功,因为我错过了如何做到这一点的主要理解,对不起。
-
Wrt " 我尝试了迭代和递归方法,但都没有成功" - 很好,将该代码添加到您的问题中。没关系,它没有工作或工作不好 - 否则你不会问这个问题:-)
标签: python list dictionary search depth