修復 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