1. 程式人生 > >python字典中dict.get()和dict.setdefault()的異同點

python字典中dict.get()和dict.setdefault()的異同點

def clas 即使 實例 字典 default 增加 存在 none

相同點:

  • 兩者是參數相同:dict.get(key, default=None), dict.setdefault(key, default=None)
  • 如果指定的鍵不存在時,兩者都返回默認值,默認是None
  • 如果指定的鍵存在時,即使設置默認值,返回的還是指定鍵的值

不同點:

  • 當指定的鍵不存在時,dict.setdefault()方法可以通過增加鍵值對來更新字典,而dict.get()方法不行

實例:

dict.get(key, default=None)

>>>dict_1 = {Name: Jack}   
>>>dict_1.get(
Age)          #默認default為None,即不返回值 >>>dict_1.get(Age, NA) #當指定的鍵不存在時,返回default的值‘NA‘ NA >>>dict_1.get(Name: Tom) #當指定的鍵存在時,即使設置default的值,返回的也是指定鍵的值‘Jack‘ Jack >>>d {Name: Jack} #dict_1中的鍵值對已經改變

dict.setdefault(key, default=None)

>>>dict_1 = {Name: Jack}  
>>>dict_1.setdefault(Age)          #默認default為None,即不返回值
>>>dict_1                            #dict_1中已經增加‘Age‘:None的鍵值對
{Name: Jack, Age: None}
>>>dict_1.setdefault(Age, 23)      #當指定的鍵存在時,即使設置default的值,返回的也是指定鍵的值None,即不返回值
>>>dict_1 {Name: Jack, Age: None}

python字典中dict.get()和dict.setdefault()的異同點