1. 程式人生 > >dict.get()方法的應用:計算字串內各個字元出現次數的實現方法

dict.get()方法的應用:計算字串內各個字元出現次數的實現方法

實現(implementation)是進行某種計算的一個具體方式

實現程式碼1:

def histogram(s):
    d = dict()  # 先定義一個字典d, 效果等同於d = {}
    for c in s:  # loop整個字串裡的字元
        if c not in d:  # 第一次出現的字元會被賦值1
            d[c] = 1
        if c in d:  # 再次出現的字元value加1
            d[c] += 1
    return d  # 返回字典d

實現程式碼2:get方法 描述 Python 字典 get() 函式返回指定鍵的值,如果值不在字典中返回預設值。 語法 dict.get(key, default=None) 引數 key – 字典中要查詢的鍵。 default – 如果指定鍵的值不存在時,返回該預設值值。 返回值 返回指定鍵的值,如果值不在字典中返回預設值 None。

示例:

d = dict()
d['a'] = 0
d
{'a': 0}
d.get('a', 520)
0
d.get('b', 520)
520

將實現程式碼1用get()函式進行改進,消除IF語句:

def histrogram_2(s):
    d = dict()
    for c in s:
        d[c] = d.get(c, 0) + 1  # 當字元c自一次出現,由於字典d中沒有c,d.get(c, 0)返回預設值0,d[c]的值變為1,其後d.get(c, 0)都都不再返回預設值,而返回d[c]的對於值並加一
    return d

相較於程式碼1,程式碼2更為緊湊。