Python の辞書のキーエラーを修正する
Vaibhav Vaibhav
2022年4月12日
辞書は、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
関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません