python字典中dict.get()和dict.setdefault()的異同點
阿新 • • 發佈:2018-04-15
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()的異同點