NLTK で解析されたツリー オブジェクトの葉の値を変更したいと考えています。次のコードを使用します。
t = Tree(line)
chomsky_normal_form(t, horzMarkov=2, vertMarkov=1, childChar = "|", parentChar = "^")
print t
for leaf in t.leaves():
if leaf==k[0][1]:
leaf = "newValue"
print t
今のように、2 つの「print t」はツリーのまったく同じ出力を提供します。この方法で葉に値を設定できると思っていましたが、間違っていたようです。葉の値を更新するにはどうすればよいですか? 各リーフのクラスは str です。したがって、それらを変更することは可能ですが、ツリー内のオブジェクトを更新することは更新されないようです。