首页 > 解决方案 > nltk 停用词的 for 循环进入无穷大

问题描述

import nltk as nt

txt="The latest version of Anaconda comes with Python 3.8. But sometimes you need to use an earlier release. With Anaconda, the preferred way to use a previous version of Python is to create a separate conda environment for each project."

word_tok=nt.word_tokenize(txt)
stopWords=nt.corpus.stopwords.words("english")
print(word_tok)

wordClear=[]
for i in word_tok: # infinity loop
      if i not in stopWords:
        word_tok.append(i)

问题是什么?

我总是看到陈述形式,但我的项目的这种形式是无限循环,但

for i in word_tok:
  print(i)

这对于没有无限循环。

标签: pythonnlpnltk

解决方案


import nltk as nt

txt="The latest version of Anaconda comes with Python 3.8. But sometimes you need to use an earlier release. With Anaconda, the preferred way to use a previous version of Python is to create a separate conda environment for each project."

word_tok=nt.word_tokenize(txt)
stopWords=nt.corpus.stopwords.words("english")
print(word_tok)

wordClear=[]
for i in word_tok: # infinity loop
      if i not in stopWords:
        # Do you wantthis?
        wordClear.append(i)

您正在更新数组word_tok并动态添加新的 i。所以它可能会继续增加并且永远不会结束。


推荐阅读