NLTK의 파스 트리 객체에서 잎의 값을 변경하고 싶습니다. 다음 코드를 사용합니다.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
이제 두 개의 'print t'가 동일한 트리 출력을 제공합니다. 이런 식으로 리프에 값을 설정할 수 있다고 생각했지만 잘못된 것 같습니다. 잎의 값을 업데이트하려면 어떻게해야합니까? 각 잎의 클래스는 str입니다. 그래서 그것들을 변경할 수는 있지만 그것은 트리의 객체를 업데이트하는 것처럼 보이지 않습니다.
나는 str 개체가 파이썬에서는 쓸모가 없기 때문에 그렇게 생각한다. 그러나 그것을 바꾸기 위해 할 수있는 방법이 있습니까? –
이것은 문자열이 불변이기 때문에가 아니라 '='는 내용이 아닌 '이름'(변수)'leaf'에 할당되어 있기 때문이 아닙니다. –
글쎄, 파이썬은 제 첫 언어가 아닙니다. 내용을 변경하여 내용을 변경하는 방법을 설명해 주실 수 있습니까? –