0
我剛開始使用nltk和python,並且在遍歷由nltk返回的bigrams列表時遇到一個小問題。我想要什麼迭代由nltk給出的bigrams(元組):TypeError:'NoneType'對象不可迭代,Python
例子:
這是雙字母組名單: [( '更多', '是'),( '是', '說'),( '說',「比「),(」不是」,‘完成’)]
我要的是能夠得到每個兩字:(更多是),每個二元的每個術語:更多的,是等分別
這是我到目前爲止,基於在計算器中的一些答案:
bigrams = nltk.bigrams(doclist)
#method 1
for (a, b) in bigrams: #I get this error: TypeError: 'NoneType' object is not iterable
print a
print b
#method 2
#convert to a list first
bigrams = list(bigrams)# I get the same error
for (a, b) in bigrams:
print a
print b
#method 3
#convert to a dict first
dct = dict(tuples)# I get the same error
我認爲這個bigrams是一個元組列表,所以我做錯了什麼?
你可以請我指出任何工作代碼或教程。我也很樂意接受任何正確的答案。
預先感謝您
注:我使用Python 2.7
您的第一次嘗試對我有效:'for(a,b)in bigrams:' 如果此時'bigrams'爲None,那就可以解釋您得到的錯誤。 – Celeo 2014-09-30 17:30:02
是的,這是多麼愚蠢!我忘記了我使用的函數中的return語句,所以bigrams是None。感謝您的觀察 – sel 2014-09-30 17:42:08