码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-29 20:37:38      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:ict   pre   logs   div   log   dict   常见   code   方法   

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

 

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

标签:ict   pre   logs   div   log   dict   常见   code   方法   

原文地址:http://www.cnblogs.com/lovealways/p/7095979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!