python - 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)
这对于没有无限循环。
解决方案
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。所以它可能会继续增加并且永远不会结束。
推荐阅读
- shell - Shell Scipt 仅运行 100 个站点的证书的单次迭代,它应该运行 100 次
- java - 在 HSB 颜色模式中更改不透明度
- dart - Flutter:根据值显示不同的图标
- python - pygame time.sleep 优先于函数的其余部分
- c++ - std::sort (stable_sort) 比较函数返回值的令人困惑的结果
- python - 如何设置将字典转换为字符串的循环?
- php - 为什么我的表单在 ie 中向 php 文件提交了一个空字符串,而不是在 chrome 或 mozilla 中?
- javascript - 作为对象的道具不会改变值但会导致组件重新渲染
- jmeter - 如何在jmeter中对外语字符进行编码以响应?
- c++ - 用用户输入填充网格