【发布时间】:2014-04-17 16:14:00
【问题描述】:
我有以下字典,层次深度未知:
dict_of_dicts = {'a': {'b': {'c': {}, 'd': {}, 'e': {}}}, 'f': {'g': {}}}
我发现 the following useful 用于学习如何递归它,但我在修改代码以获得我想要的东西时遇到了麻烦,这是从顶层到顶层的所有路径的列表死胡同。
想要的输出是:
list = ['a,b,c', 'a,b,d', 'a,b,e', 'f,g']
为了开始解决这个问题,我使用了DFS 方法:
hierarchy = []
for parent in dict_of_dicts:
recurse_dicts(concepts, parent, hierarchy)
def recurse_dicts(concepts, parent, hierarchy):
hierarchy.append(parent)
for child in concepts[parents]:
if len(recurse[node][child].keys()) > 0:
recurse_dicts(recurse[node], child, hierarchy)
else:
return
这导致:
hierarchy = ['a', 'b', 'c', 'd', 'e']
这是一些东西,但不是我想要的。
【问题讨论】:
-
这可能吗? 是的。请给我 200 美元! (对不起)。
-
这听起来像是 DFS 的工作。
-
您能否编辑问题并描述您遇到的问题?
标签: python recursion dictionary