'LazyCorpusLoader'对象不可迭代

时间:2016-09-16 17:06:36

标签: nltk

以下示例创建anagram字典。 但是,它会抛出TypeError: 'LazyCorpusLoader' object is not an iterator

import nltk
from nltk.corpus import words

anagrams = nltk.defaultdict(list)
for word in words:
    key = ''.join(sorted(word))
    anagrams[key].append(word)

print(anagrams['aeilnrt'])

2 个答案:

答案 0 :(得分:6)

您必须在.words()语料库对象上使用words方法。

具体来说:改变

for word in words:

for word in words.words():

它应该有用。

答案 1 :(得分:0)

我在使用 nltk 导入停用词时遇到了同样的错误

由于以下导入而发生错误

from nltk.corpus import stopwords

将上面的替换为以下对我有用

# from nltk.corpus import stopwords
stopwords = nltk.corpus.stopwords.words('english')