我正在创建一个阅读抽搐聊天的应用程序(基本上是一个IRC聊天)并显示前5个单词。 (单词是预定义的)保存前5个单词的数据的最佳方法是什么,这些单词会不断更新和读取?在变量(某种类型的dict / list)中,json,excel,.txt文件?
答案 0 :(得分:0)
列表可用于将值保存在内存中。如果要将值存储在文件中,.txt
文件将会执行。
答案 1 :(得分:0)
以下内容可能有效,但效率不高,您需要处理大写/小写单词和单词后标点符号。
the_dict = {}
input_text = "Some input text from the channel"
for word in input_text.split():
if not word in the_dict:
the_dict[word] = 1
else:
the_dict[word] += 1
当您想要显示前5名时,您需要在字典中找到前5个评分条目,以下内容可能会起作用
top_five = sorted(the_dict, key=lambda x: the_dict[x])[-5:]
快速实施并完成工作,但正如我警告它不是最有效的。
答案 2 :(得分:0)
效率最高(虽然因为它只是5而过度杀伤),正在使用堆数据结构。这允许以对数时间访问k个最常见的元素。