我想改變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對象在Python中是不可變的。但是有什麼辦法可以改變它嗎? – 2013-05-02 19:54:05
這不是因爲字符串是不可變的,而是因爲'='賦值給了*名稱*(變量)'leaf',而不是它的內容。 – 2013-05-02 19:58:19
那麼,Python不是我的第一語言。你能否請求解釋如何改變它,以便內容改變? – 2013-05-02 20:06:08