详解Python 字典默认值

  • Post category:Python

Python 中的字典是一种无序的键值对结构的数据类型。在使用字典时,有时候我们会需要默认值来处理取值时可能出现的 KeyError 错误。这时候我们可以使用 Python 字典默认值的方法来解决。

使用字典默认值

我们可以使用 dict.get(key, default) 方法来获取字典中某个键对应的值,如果该键不存在则返回默认值。

# 示例1:使用dict.get()函数获取字典中不存在的键对应的默认值
d = {"A": 1, "B": 2}
print(d.get("C", 0))    # 输出:0

在上面的代码中,我们尝试访问字典 d 中键为 C 的值,由于该键不存在,我们传入了默认值 0,所以 d.get("C", 0) 返回了 0。

我们也可以通过设置字典的默认值来实现该功能,例如:

# 示例2:使用setdefault()函数设置字典的默认值
d = {"A": 1, "B": 2}
d.setdefault("C", 0)
print(d)    # 输出:{"A": 1, "B": 2, "C": 0}

在上面的代码中,我们使用 setdefault() 函数向字典 d 中设置 C:0 的键值对,如果键 C 已存在,则该函数不会生效。

defaultdict 类型

Python 还提供了一个名为 defaultdict 的字典类型,通过它我们可以在初始化时指定默认值的类型,从而方便地维护一个带默认值的字典。

# 示例3:使用defaultdict()函数设置字典的默认值类型为int
from collections import defaultdict
d = defaultdict(int)
d["A"] = 1
print(d["A"])    # 输出:1
print(d["B"])    # 输出:0

在上面的代码中,我们使用 defaultdict(int) 创建了一个整型默认值的字典 d,并将键 A 的值设置为 1,键 B 的值则被默认设置为 0。

使用 defaultdict 类型可以省去我们在写程序时手动添加默认值的麻烦,并且在需要使用默认值的情况下会更加方便。

通过使用字典默认值的方法,我们可以方便地处理字典的缺省值情况,并且在使用 defaultdict 类型时可以省去手动添加默认值的麻烦。