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

2024-05-29 03:50:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我想找出75篇文章中“je”和“nous”的频率

事实上,我知道如何通过导入操作系统等一次生成频率列表。但这一次,我需要的只是这两个词各自的频率

为了达到我的目标,我试图改变制作频率表的代码,但失败了

以下是我代码的一部分:

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'
error

我真的不明白,我现在的想法太愚蠢了,因为我想做一个频率表,然后增加“je”和“nous”的频率。应该有一些更简单的解决方案

请帮帮我~谢谢


Tags: 代码in目标列表forifallnous
1条回答
网友
1楼 · 发布于 2024-05-29 03:50:36

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

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可以返回默认值

如果您选择不使用计数器,并且希望使用在Q中共享的循环,您仍然可以这样做。但是请确保在dict上使用get方法来处理单词不在dict中的情况

相关问题 更多 >

    热门问题