【资料图】
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}