我有一组看起来像这样的数据:
Person1 是 Person2 的父级
Person2 是 Person3 和 Person4 的父级
Person3 是 Person1 的父级
如果我尝试计算 Person1 的整个树,则会超出最大递归,并且程序将在错误中终止。预期的结果将是 Person1 -> [Person2, Person3, Person4],所以基本上在必须对已经在列表中的元素重复计算的情况下,这必须被忽略。你有什么想法,我该如何解决这个问题?我的函数看起来像这样:
def compute_children(self):
children = []
children.extend(self.child)
for child in children:
temp = child.compute_children()
if 0 < len(temp):
children.extend(temp)
return children