5.3.10 setdefault()方法

setdefault()方法和get()方法类似,用于获得与给定键相关联的值,setdefault()方法的语法格式 如下:

dict.setdefault(key, default=None)

此语法中,dict代表指定字典,key代表查找的键值,default代表键不存在时设置的默认键值。setdefault()方法返回key在字典中对应的值,如果键不存在于字典中,就会添加键并将值设为默认值,然后返回新设置的默认值。

该方法的使用示例如下:

>>> student={'小萌': '000', '小智': '001'}
>>> xq=student.setdefault('小强')
>>> print(f'小强的键值为:{xq_default}')
小强的键值为:None
>>> xz=student.setdefault('小智')
>>> print(f'小智的键值为:{xz}')
小智的键值为:001
>>> print(f'student字典新值为:{student}')
student字典新值为:{'小萌': '000', '小智': '001', '小强': None}

由输出结果可以看到,当键不存在时,setdefault()方法返回默认值并更新字典;当键存在时,就返回与其对应的值,不改变字典。和get()方法一样,默认值可以选择,如果不设定就为None,如果设定就为设定的值,示例如下:

>>> student={'小萌': '000', '小智': '001'}
>>> xq=student.setdefault('小强')
>>> print(f'小强的键值为:{xq}')
小强的键值为:None
>>> print(f'student为:{student}')
student为:{'小萌': '000', '小智': '001', '小强': None}
>>> xz=student.setdefault('小张','006')
>>> print(f'小张的键值为:{xz}')
小张的键值为:006
>>> print(f'student为:{student}')
student为:{'小萌': '000', '小智': '001', '小强': None, '小张': '006'}

由输出结果可以看到,小强没有设置值,使用的是默认值,输出键值为None;小张设置的默认值是006,输出键值为006。

在实际项目应用中,setdefault()方法的使用不多。