我試圖存儲一個字符串,並用nltk在Python中標記它後。但我不明白爲什麼在標記它(它創建一個列表)後,我不能看到列表中的字符串.. 任何人都可以幫助我PLZ?希臘編碼在PYTHON
下面是代碼:
#a="Γεια σου"
#b=nltk.word_tokenize(a)
#b
['\xc3\xe5\xe9\xe1', '\xf3\xef\xf5']
我只是希望能夠看到定期列表的內容..
THX提前
我試圖存儲一個字符串,並用nltk在Python中標記它後。但我不明白爲什麼在標記它(它創建一個列表)後,我不能看到列表中的字符串.. 任何人都可以幫助我PLZ?希臘編碼在PYTHON
下面是代碼:
#a="Γεια σου"
#b=nltk.word_tokenize(a)
#b
['\xc3\xe5\xe9\xe1', '\xf3\xef\xf5']
我只是希望能夠看到定期列表的內容..
THX提前
你可以看到字符串。由於您的終端編碼設置,字符由轉義序列表示。配置您的終端接受輸入,並以UTF-8格式顯示輸出。
您正在使用Python 2,其中前綴的引號表示一個字節,而不是一個字符字符串(如果你不知道的區別,read this)。或者切換到Python 3,其中該已被固定的,或與u
前綴的所有字符串和打印的字符串(相對於示出其repr
,它不同於在Python 2.x的):
>>> import nltk
>>> a = u'Γεια σου'
>>> b = nltk.word_tokenize(a)
>>> print(u'\n'.join(b))
Γεια
σου
我的問題不是「打印」解決方案...我只是想看到b的內容,所以我可以稍後使用pos-tag和stemming等語言功能處理它們。這種方式可能嗎? – GreekBurner
@GreekBurner那麼,你所看到*是* b的內容,而不是你期望的表示。您可以切換到Python 3,其中「'Γειασου''的默認表示是'Γειασου'。 – phihag
Thx但我使用的nltk包,只支持Python 2 .. :( 無論如何thx – GreekBurner
而我怎樣才能配置它們?(我使用GUI python shell) 如果我這樣工作,我將能夠在這些列表上使用stemmers和pos-taggers被創建? – GreekBurner
我不使用GUI外殼。請參閱文檔。 – Marcin
不,字符(不是字符)由於終端編碼而不能用轉義序列表示;這只是他們的'repr'esentation。在正確配置的終端中觀察'u'ä''與'print(u'ä')'與'print(repr(u'ä'))'。 – phihag