0
点赞
收藏
分享

微信扫一扫

python字典中dict.get()和dict.setdefault()的异同点

yundejia 2022-07-12 阅读 49

相同点:

  • 两者是参数相同: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'
>>>dict_1
{'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}

 


举报

相关推荐

0 条评论