快速删除Python中的低频词

时间:2018-11-10 20:03:01

标签: python-3.x nlp nltk

在下面的代码中,lowFrequencyWords是带有低频词的列表,而doc是令牌的列表。

from tkinter import *

class MyProgram(Frame):
    def __init__(self, root):
        self.root = root
        super().__init__(self.root)
        self.bind_all('<Key>', key)
        return

    def key(self, event):
        if event.char == event.keysym or len(event.char) == 1:
            #do some code on event
            print("key pressed")

if __name__ == '__main__':
    mp = MyProgram(Tk())
    mainloop()

问题是这段代码永远存在。

我可以肯定,但是我相信问题是从列表中删除中间元素的操作要花费O(n),其中n是列表的大小。由于lowFrequencyWords的数量庞大,因此python必须重复多次。我在寻找链接列表,但我相信它们在Python中不可用。

1 个答案:

答案 0 :(得分:1)

来自评论:@Patrick Artner 将lowFrequencyWords设为frozenset(lowFrequencyWords),以

开头