HOWTO · Python
Python の辞書のキーエラーを修正する
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 ブロックの下のコードが実行されます。