Python の辞書のキーエラーを修正する

Vaibhav Vaibhav 2022年4月12日
Python の辞書のキーエラーを修正する

辞書は、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