如何遍历树的所有节点?

2024-03-28 23:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我要先解析这个节点后面的连字符。例如,如果一个节点是NP-TMP-FG,我想把它设为NP;如果它是SBAR-SBJ,我想把它设为SBAR,依此类推。这是一个解析树的例子

( (S (S-TPC-2 (NP-SBJ (NP (DT The) (NN asbestos) (NN fiber) ) (, ,)
(NP (NN crocidolite) ) (, ,) ) (VP (VBZ is) (ADJP-PRD (RB unusually) (JJ resilient) )
(SBAR-TMP (IN once) (S (NP-SBJ (PRP it) ) (VP (VBZ enters) (NP (DT the) (NNS lungs) ))))
(, ,) (PP (IN with)(S-NOM (NP-SBJ (NP (RB even) (JJ brief) (NNS exposures) ) (PP (TO to)
(NP (PRP it) ))) (VP (VBG causing) (NP (NP (NNS symptoms) ) (SBAR (WHNP-1 (WDT that) )
(S (NP-SBJ (-NONE- *T*-1) ) (VP (VBP show) (PRT (RP up) ) (ADVP-TMP (NP (NNS decades) ) 
(JJ later) )))))))))) (, ,) (NP-SBJ (NNS researchers) ) (VP (VBD said)(SBAR (-NONE- 0) 
(S (-NONE- *T*-2) )))    (. .) )) 

这是我的代码,但不起作用。在

^{pr2}$

编辑:

我想问题是子树.标签()显示节点,但无法更改,因为它是一个函数。印刷品的输出子树.标签()是:

S
S-TPC-2
NP-SBJ
NP
DT
NN
,

等等。。。在


Tags: innone节点npdtnntmprb