以下示例创建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'])
答案 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')