最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

热点聚焦:python字典中dict.get()和dict.setdefault()的异同点

来源:博客园


【资料图】

1.相同点:

  • 两者是参数相同:dict.get(key, default=None), dict.setdefault(key, default=None)
  • 如果指定的键不存在时,两者都返回默认值,默认是None
  • 如果指定的键存在时,即使设置默认值,返回的还是指定键的值

2.不同点:

当指定的键不存在时,dict.setdefault()方法可以通过增加键值对来更新字典,而dict.get()方法不行

3.实例:

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"}          # python学习交流群:711312441>>>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}

关键词: 学习交流