Python : 如何优化两个大集合之间的比较?

Python : How to optimize comparison between two large sets?

我向你致敬!我是新来的,在尝试优化这部分代码时遇到了一些问题。

我正在读取两个文件:

Corpus.txt -----> 包含我的文字(1.000.000 字)

Stop_words.txt -----> 包含我的stop_list(共 4000 字)

我必须将语料库中的每个词与 stop_list 中的每个词进行比较,因为我想要一个没有停用词的文本,所以我: 使用以下代码进行 1.000.000*4000 次比较:

fich= open("Corpus.txt", "r")
text = fich.readlines()

fich1= open("stop_words.txt", "r")
stop = fich1.read()

tokens_stop = nltk.wordpunct_tokenize(stop)
tokens_stop=sorted(set(tokens_stop))

for line in text :
    tokens_rm = nltk.wordpunct_tokenize(line)
    z = [val for val in tokens_rm if val not in tokens_stop]
    for i in z:
        print i

我的问题是:有什么不同的做法吗?有什么结构可以优化吗?

您可以创建一组 stop_words,然后针对文本中的每个单词查看它是否在该组中。

实际上看起来你已经在使用一套了。虽然我不知道你为什么要对它进行排序。