python中停止字的实现

python中停止字的实现,python,Python,python中停止词列表的速度更快的是: stopwords = ('a','and', 'etc') 或者使用文件来调用它?文件操作总是比正常代码执行慢得多。因此,如果您需要的数据足够小,请不要使用文件 如果满足以下任一条件,则使用文件: 需要修改输入数据而不更改实际代码 需要处理的大量数据 数据正由另一个进程/应用程序提供 如果你只有有限数量的停止词,如果你不需要经常改变它们,那么就始终使用它 stopwords = ('a','and', 'etc') 文件操作总是比正常代码执行

python中停止词列表的速度更快的是:

 stopwords = ('a','and', 'etc')

或者使用文件来调用它?

文件操作总是比正常代码执行慢得多。因此,如果您需要的数据足够小,请不要使用文件

如果满足以下任一条件,则使用文件:

  • 需要修改输入数据而不更改实际代码
  • 需要处理的大量数据
  • 数据正由另一个进程/应用程序提供
如果你只有有限数量的停止词,如果你不需要经常改变它们,那么就始终使用它

stopwords = ('a','and', 'etc')

文件操作总是比正常代码执行慢得多。因此,如果您需要的数据足够小,请不要使用文件

如果满足以下任一条件,则使用文件:

  • 需要修改输入数据而不更改实际代码
  • 需要处理的大量数据
  • 数据正由另一个进程/应用程序提供
如果你只有有限数量的停止词,如果你不需要经常改变它们,那么就始终使用它

stopwords = ('a','and', 'etc')

NLTK
将停止字作为列表

nltk.corpus.stopwords.words('english')

如果这是您的意思,那么它比使用文件并在查看停止字时从中读取要快。

NLTK
将停止字作为列表

nltk.corpus.stopwords.words('english')

如果这是您的意思,那么它比使用文件并在浏览stopword时从中读取要快。

如果您不想下载
nltk
,stopword文件随处可见。他们通常每行列出一个单词,这样就很容易把它们放在自己的结构中

stopwords = ()
for line in open('stopwordfile'):
    stopwords += (line,)
但是,比在元组中查找单词更快的是使用字典,可能最好使用默认返回值:

stopdict = {w:True for w in stopwords}

for word in text_you_want_to_index:
     if word not in stopdict:          # or: not stopdict.get(word, False): don't know which one more performant
          print word

如果您不想下载
nltk
,stopword文件随处可见。他们通常每行列出一个单词,这样就很容易把它们放在自己的结构中

stopwords = ()
for line in open('stopwordfile'):
    stopwords += (line,)
但是,比在元组中查找单词更快的是使用字典,可能最好使用默认返回值:

stopdict = {w:True for w in stopwords}

for word in text_you_want_to_index:
     if word not in stopdict:          # or: not stopdict.get(word, False): don't know which one more performant
          print word

你应该更具体一点-你打算用
stopwords
做什么?只是想澄清一下,你是在问:哪个在运行时运行得更快:创建一个列表(或元组)文本,或者从一个文件中读取列表?你到底想做什么?你应该更具体一些-你打算用
停止字
做什么?只是想澄清一下,你在问:哪一个在运行时运行得更快:创建一个列表(或元组)文字,或者从文件中读取列表?你到底想做什么?
set
在这里更合适。我同意。我们甚至可以更进一步,建议使用
frozenset
,因为一旦设置,就不需要添加或删除元素。
set
在这里更合适。我同意。我们甚至可以更进一步,建议使用
frozenset
,因为一旦设置好,就不需要添加或删除元素。