字典的setdefault() 和get()方法比較


Python 字典

setdefault() 函數 ---有key獲取值、沒key設置 key:default

 dict.setdefault(key, default=None)

  如果 key 在 字典中,返回對應的值。

  如果 key 不在字典中,則插入 key 及設置的默認值 default,並返回 default ,default 默認值為 None。

 

get()函數---有key獲取值、沒key返回default

 dict.get(key, default=None)

 返回指定鍵的值,如果值不在字典中返回默認值 None。

 

話不多說,上栗子:

 

setdefault()方法:

>>> dict = {}   
>>> dict['成龍'] = '演員'  #添加鍵值對
>>> dict  
{'成龍': '演員'}  
>>> dict.setdefault('成龍' , 'Duang')     # 值('演員')存在,故返回值('演員'),而不是'Duang'  
'演員'  
>>> dict  
{'成龍': '演員'}  
>>> dict.setdefault('竇唯' , '歌手')  
'歌手'  
>>> dict  
{'成龍': '演員', '竇唯': '歌手'} 

 

get()方法:

>>> dict.setdefault('波多',18)  
18
>>> dict {'成龍': '演員', '竇唯': '歌手', '波多': 18} >>> dict.get('成龍') '演員' >>> dict.get('波多') 18

  

 附練習:

# 循環迭代message字符串中每個字符,計算每個字符出現的次數
# 涉及的技能包:1.字典的get()和setdeafult()方法 2.漂亮打印pprint

import pprint
message = 'It was a bright cold day in May,andd the clocks were striking thirteen.'
count = {}

#1 字典的setdefault()方法
for character in message:
	count.setdefault(character,0) #查詢此次計數前此字母出現的次數
	count[character] = count[character] + 1 #更新次數(for每次遍歷一個字母,故次數加一)
	
pprint.pprint (count)


count1 = {}
#2 字典的get()方法
for character in message:	
	count1[character] = count1.get(character,0)+ 1 #查詢出現次數,並加一
	
print (count1)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM