详解Python 字典默认值

  • Post category:Python

Python的字典(Dict)是一种非常常用的数据结构,它是一种无序的、可变的、可迭代的键值对集合,其中每一个键(key)唯一对应着一个值(value)。而Python的字典默认值则是在字典中查找一个不存在的键时,返回一个默认值。

Dict字典默认值使用方法

1. 字典的get()方法

get()方法是字典中获取键值对的常用方法之一,而且它提供了默认值的功能。当我们通过键获取值时,如果该键不存在于字典中,则会返回默认值(如果设置了的话),而不会触发KeyError异常。 get()方法的语法如下:

dict.get(key, default=None)

其中,key 为字典中的键;default为当 key 不存在时要返回的值。若省略此参数或设置为None,则返回 None 值。

下面是一个演示 get() 方法使用的示例代码:

score = {'小明': 90, '小红': 85, '小张': 92}
print(score.get('小李', 60))
print(score.get('小红'))

输出结果如下:

60
85

从运行结果可以看出,当我们通过 get() 方法获取字典中不存在的 key 时,返回的是我们指定的默认值 60。而如果该 key 存在于字典中,则返回其对应的值。

2. 字典的setdefault()方法

setdefault() 方法也是用于获取字典中指定键的值,如果该键不存在于字典中,则会将该键值对添加到字典中,并设置键的默认值。 setdefault() 方法的语法如下:

dict.setdefault(key, default_value)

其中,key 为字典中的键;default_value为当 key 不存在时要设置的值。

下面演示一个使用 setdefault() 方法的示例代码:

# 创建一个空字典
score = {}

# 设置键值对
score.setdefault('小明', 85)
score.setdefault('小张', 92)
score.setdefault('小红', 90)

# 输出字典
print(score)

# 尝试获取一个不存在的键
print(score.get('小李'))

# 使用 setdefault() 方法添加键值对
score.setdefault('小李', 95)

# 再次尝试获取一个不存在的键
print(score.get('小李'))

输出结果如下:

{'小明': 85, '小张': 92, '小红': 90}
None
95

从运行结果可以看出,当我们通过 get() 方法获取字典中不存在的 key 时,返回的是 None 值或者我们指定的默认值。而如果使用 setdefault() 方法添加了该 key,然后再进行获取时,就会返回我们设置的默认值。

总结

通过本文的介绍,我们对 Python 字典默认值的使用方法有了更加详细的了解。其中,get() 和 setdefault() 两个方法都是用于获取字典中指定键的值,并且可以设置默认值。可以根据具体的需求选择不同的方法。