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

LinkedIn GitHub

相關文章 - Python Error