在Python中提取树的根节点
大家好,
我一直在寻找一个可以在Python中提取树的根节点的内置函数,但我没有找到类似的东西。我尝试自己写一个,但没办法做出一个通用的,能够满足我所有需求的函数。
有没有人有现成的解决方案,或者知道怎么从Python的树结构中提取这个信息?
谢谢!
1 个回答
3
你需要自己动手实现:
class Node(object):
def __init__(self, p=None):
self.parent = p
self.children = []
n1 = Node()
n2 = Node()
n1.children.append(n2)
n2.parent = n1
当然,你会希望有一些方法,比如 addChild
,可以自动管理相关对象的 .children
和 .parent
属性。
然后你可以写一个方法
def findRoot(node):
p = node
while p.parent != None:
p = p.parent
return p