我想在Python中编写一个函数,它根据输入索引的值返回不同的固定值.
在其他语言中,我会使用switch或case声明,但Python似乎没有switch声明.在这种情况下,推荐的Python解决方案是什么?
我试图在23万字的列表上计算重复的单词.我使用python字典这样做.代码如下:
for words in word_list:
if words in word_dict.keys():
word_dict[words] += 1
else:
word_dict[words] = 1
Run Code Online (Sandbox Code Playgroud)
上面的代码用了3分钟!我运行相同的代码超过150万字,它运行超过25分钟,我失去了耐心并终止.后来我发现,我可以使用从下面的代码在这里(如下所示).结果是如此令人惊讶,它在几秒钟内完成!所以我的问题是什么是更快的方式来做这个操作?我想字典创建过程必须花费O(N)时间.Counter方法如何能够在几秒钟内完成此过程,并创建一个精确的单词词典作为键和频率的值?
from collections import Counter
word_dict = Counter(word_list)
Run Code Online (Sandbox Code Playgroud)