如何计算 python 中给定单词的频率

how to count the frequency of a given word in python

我想找出“je”和“nous”这两个词在 75 篇文章中出现的频率。

事实上,我知道如何通过导入 os 等方式一次性制作频率列表。而这次,我需要的,只是这两个词各自出现的频率。

并且我尝试更改制作频率列表的代码以实现我的目标但失败了。

这是我的部分代码:

wordlist_freq={}
for word in all_words:
    if word in wordlist_freq.keys():
        wordlist_freq[word] +=1
    else:
        wordlist_freq[word] =1

freq = {}

freq['je']=wordlist_freq['je']
freq['nous']=wordlist_freq['nous']

output[name]=wordlist_freq.items()

它显示 KeyError: 'je'

我实在是看不懂,我现在的想法太蠢了,因为我想做一个频率表,然后把“je”和“nous”的频率加进去。应该有一些更简单的解决方案!!!

请帮帮我~谢谢!!!

您可以为此使用集合中的计数器

from collections import Counter

word_list = ["hi", "hi", "je", "nous", "hi", "je", "je"]
wordlist_freq = Counter(word_list)

为了得到一个词的频率,你可以使用这样的get方法

wordlist_freq.get("je", 0)

我更喜欢使用 get 而不是方括号,因为当单词在 Counter 对象中不存在时,get 可以 return 默认值。

如果您选择不使用 Counter 并想使用您在 Q 中共享的循环,您仍然可以这样做。但是请确保您对字典使用 get 方法来处理字典中不存在单词的情况。