在下面的代码中,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中不可用。
答案 0 :(得分:1)
来自评论:@Patrick Artner 将lowFrequencyWords设为frozenset(lowFrequencyWords),以
开头