修复 Python 字典中的 KeyError

Vaibhav Vaibhav 2022年5月17日
修复 Python 字典中的 KeyError

字典是 Python 中可用的可扩展数据结构。它以键值对的形式存储数据,其中键可以是任何可散列和不可变的对象,值可以是任何东西;一个列表、一个元组、一个字典、一个对象列表等等。

使用键,我们可以访问这些键指向的值。如果给字典一个不存在的键,它会抛出一个 KeyError 异常。在本文中,我们将学习如何在 Python 中处理此异常。

修复 Python 字典中的 KeyError 异常

要解决 KeyError 异常,可以在访问之前检查字典中是否存在该键。keys() 方法返回字典中的键列表。在访问某个键的值之前,如果你不确定该键是否存在,建议你检查该键是否存在于此列表中。以下 Python 代码描述了相同的内容。

data = {
    "a": 101,
    "b": 201,
    "c": 301,
    "d": 401,
    "e": 501,
}
keys = ["a", "e", "r", "f", "c"]

for key in keys:
    if key in data.keys():
        print(data[key])
    else:
        print(f"'{key}' not found.")

输出:

101
501
'r' not found.
'f' not found.
301

除了上面讨论的方法之外,还可以使用 try...except 块来捕获 KeyError 异常或任何异常。请参阅以下 Python 代码。

data = {
    "a": 101,
    "b": 201,
    "c": 301,
    "d": 401,
    "e": 501,
}
keys = ["a", "e", "r", "f", "c"]

for key in keys:
    try:
        print(data[key])
    except:
        print(f"'{key}' not found.")

输出:

101
501
'r' not found.
'f' not found.
301

如果发生 KeyError 异常,except 块下的代码将被执行。

作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

相关文章 - Python Error