码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-04-15 16:52:10      阅读:400      评论:0      收藏:0      [点我收藏+]

标签:tde   def   ack   pre   eva   通过   默认值   tom   返回   

相同点:

  • 两者是参数相同: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()的异同点

标签:tde   def   ack   pre   eva   通过   默认值   tom   返回   

原文地址:https://www.cnblogs.com/cnhkzyy/p/8848083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!