dict.get()方法的應用:計算字串內各個字元出現次數的實現方法
阿新 • • 發佈:2018-12-12
實現(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更為緊湊。