【发布时间】:2014-10-05 00:57:50
【问题描述】:
我有具有依赖项及其状态的作业列表。我想遍历每项工作并将它们的依赖关系映射为树。树的末端将是两个父依赖项的状态都已完成 - 这意味着遍历应该停止。我不确定是否应该使用递归,或者这是否真的是唯一的可能性。是否有可以帮助我的本地映射工具或数据结构?我将迭代近 1 万个工作。
伪代码
def map_depends(job_depends):
for job in job_depends:
if job.status = done:
job_tree_map.append(job.name)
else:
map_depends(job.get('dependencies'))
def main():
for job in batch:
if job.get('dependencies'):
map_depends(job.get('dependencies'))
我正在谈论的内容的视觉描述。
-> job_depends1.status = done
main_job -> job_depends3 = running -> job_depends6 = done
-> job_depends2 = running......job_depends2 -> jon_depends4 = done
-> job_depends5 = done
【问题讨论】:
-
您的代码看起来有点不一致:
jobvsjobs,job.get(depends)vsjob.get('dependencies')。 -
谢谢。进行了更正。
标签: python python-2.7 tree mapping