- 4.3 树遍历
4.3 树遍历
使用递归函数来遍历树是标准的做法。4.2中的内容进行了演示。
def traverse(t):try:t.label()except AttributeError:print(t, end=" ")else:# Now we know that t.node is definedprint('(', t.label(), end=" ")for child in t:traverse(child)print(')', end=" ")>>> t = nltk.Tree('(S (NP Alice) (VP chased (NP the rabbit)))')>>> traverse(t)( S ( NP Alice ) ( VP chased ( NP the rabbit ) ) )
注意
我们已经使用了一种叫做动态类型的技术,检测t是一棵树(如定义了t.label())。
