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

最常见的方法,构建一个字典,对于句子中出现的字母,如果是首次出现,则值置为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

 

转载于:https://www.cnblogs.com/lovealways/p/7095979.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值