三种方法实现统计一个句子中的字母数 (setdefaultdefaultdict的使用)

Posted LightRain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三种方法实现统计一个句子中的字母数 (setdefaultdefaultdict的使用)相关的知识,希望对你有一定的参考价值。

最常见的方法,构建一个字典,对于句子中出现的字母,如果是首次出现,则值置为1,后后面再出现就加1.

def letter_frequency_1(sentence):
    frequencies={}
    for letter in sentence:
        if letter not in frequencies:
            frequencies[letter]=1
        else:
            frequencies[letter]+=1
    return frequencies

对于setdefault方法,如果键在字典中,该方法的行为如同get方法:返回该健的值。相反,如果键不在字典中,它会设置该键的值,然后返回字典中该键的值。

def letter_frequency_2(sentence):
    frequencies={}
    for letter in sentence:
        frequency=frequencies.setdefault(letter,0)
        frequencies[letter]=frequency+1
    return frequencies
下面的代码中,如果字母在defaultdict中不存在,则访问它时会返回0,之后每找到一个则会加1.
def letter_frequency_3(sentence):
    frequencies=defaultdict(int)
    for letter in sentence:
        frequencies[letter]+=1
    return frequencies

 

以上是关于三种方法实现统计一个句子中的字母数 (setdefaultdefaultdict的使用)的主要内容,如果未能解决你的问题,请参考以下文章

C语言:统计输入的一行英文句子中的字母及单词个数,带注解!

Linux脚本练习之script047-统计英语一句话中字母数不大于6的单词。

统计单词数

C++ 统计输入的句子有多少英文字母

有没有一种简单的方法可以在 Oracle 8 上转换句子案例中的字符串?还是我应该使用正则表达式?

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开