【发布时间】:2016-02-09 07:09:16
【问题描述】:
给我一个问题如下:
B = C, D
A = B
C = E
意思是B依赖于变量C和D,而A依赖于B,依此类推。变量 E 和 D 是独立的。
'A' 的输入应该返回:
E, C, D, B, A
列出所有因变量。为了解决这个问题,我首先定义了一个字典来轻松地迭代这个条件:
letter = {'A' : ['B'], 'B' : ['C', 'D'], 'C' : ['E']}
但是,我现在坚持如何循环以有效地打印所有子项。我认为这是错误的,但我认为我可能会朝着正确的方向前进:
def problem(value):
letter = {'A' : ['B'], 'B' : ['C', 'D'], 'C' : ['E']}
for i in letter:
if i != value:
continue
if len(letter[i]) > 1:
for k in letter:
print("".join(letter[k]), k)
print("".join(letter[i]), i)
请帮忙!
【问题讨论】:
-
使用有向图不是更好吗?如果您可以使用外部模块,请查看 networkX。如果您从输入生成有向图(这是您的问题所在),您可以从节点获取所有后代:networkx.github.io/documentation/latest/reference/generated/…
标签: python dictionary