我已经在python上安装并下载并运行了nltk。我已经检查过它正在使用
import nltk.corpus import words
print "fine" in words.words()
它打印为True。 我希望存储一个对象列表,以便我可以打印列表并查看一系列的单词。但是,当我尝试打印word.words()或设置一个等于words.words的列表时,我的计算机只会加载并且永远不会在任务中成功。我最终不得不强行退出。我知道大约有50,000个单词,但我觉得它不应该使程序崩溃。 nltk不允许你保存为列表或我在这里做了别的错吗?
答案 0 :(得分:0)
如果你只想打印(或实际做任何事情)列表的对象,你应该使用generators,这是运行时迭代器,它动态迭代可迭代对象,因此适合于去在非常大的数据集上。 你可以做的事情可能是这样的:
def generator(l):
for i in l:
yield i
if __name__ == '__main__':
very_large_list = [1,2,3]
for i in generator(very_large_list): # Iterate over the list dynamically without storing in memory
print i