在 Python 中,setdefault
是字典(dict
)对象的一个方法。这个方法用于获取字典中指定键的值。如果该键已经存在于字典中,则返回其对应的值;如果该键不存在于字典中,则将指定的默认值添加到字典中,并返回这个默认值。
setdefault
方法的语法如下:
dict.setdefault(key, default=None) |
key
:需要查找或设置的键。default
:可选参数,当键不存在于字典中时返回的默认值。如果未提供,则默认为None
。
setdefault
方法特别有用,因为它可以在查询键的值的同时避免使用 get
方法时的条件赋值,使代码更简洁。
下面是使用 setdefault
的一个简单示例:
# 创建一个空字典 my_dict = {} # 使用setdefault方法获取键'a'的值,如果该键不存在,则设置其值为0 value = my_dict.setdefault('a', 0) print(value) # 输出:0 print(my_dict) # 输出:{'a': 0} # 再次获取键'a'的值,这次它存在于字典中,所以返回其值0 value = my_dict.setdefault('a', 10) print(value) # 输出:0 print(my_dict) # 输出:{'a': 0} # 尝试获取键'b'的值,由于它不存在,所以返回默认值'default_value',并添加到字典中 value = my_dict.setdefault('b', 'default_value') print(value) # 输出:'default_value' print(my_dict) # 输出:{'a': 0, 'b': 'default_value'}
在这个例子中,我们首先创建了一个空字典 my_dict
。然后,我们使用 setdefault
方法来获取键 'a'
的值。因为 'a'
不在字典中,所以方法返回了默认值 0
,并将 'a'
键及其值 0
添加到字典中。当我们再次尝试获取 'a'
的值时,它已经在字典中,所以方法返回了它的当前值 0
。最后,我们尝试获取一个不存在的键 'b'
的值,setdefault
方法返回了我们提供的默认值 'default_value'
,并将 'b'
键及其值 'default_value'
添加到字典中
。