python字典中dict.get()和dict.setdefault()的异同点
Posted cnhkzyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python字典中dict.get()和dict.setdefault()的异同点相关的知识,希望对你有一定的参考价值。
相同点:
- 两者是参数相同: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()的异同点的主要内容,如果未能解决你的问题,请参考以下文章