Python で KeyError 0 を解決する

Fariba Laiq 2023年6月21日
  1. Python の KeyError 0 例外
  2. try-except ブロックを使用して Python で KeyError 0 を解決する
  3. dict.get() を使用して Python で KeyError 0 を解決する
  4. if-else を使用して Python で KeyError 0 を解決する
Python で KeyError 0 を解決する

どのプログラミング言語でも、多くのエラーが発生します。 コンパイル時に発生するものもあれば、実行時に発生するものもあります。

KeyError は、コード構文が正しい実行時エラーですが、コードの実行中にエラーをスローします。

Python の KeyError 0 例外

KeyError 0 は、Python の実行時に、アクセスしようとするマッピング キー 0 が定義されていない場合に発生します。 マッピング キーは KeyError 0 例外をスローします。

マップは、コロン : によって 1つの値を別の値にマップする一種のデータ構造です。 ディクショナリは、最も一般的なタイプのマッピングです。

以下の例では、対応する生徒の名前を持つ 3つのキーのみが辞書で定義されています。 ディクショナリ内の他のキーにアクセスしようとすると、KeyError がスローされます。

コード例:

# Python 3.x
dict = {1: "kelvin", 2: "Ron", 3: "James"}
print(dict[0])

出力:

#Python 3.x
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-1-f0366e7afb22> in <module>()
      1 dict = {1: 'kelvin', 2:'Ron' , 3:'James'}
----> 2 print(dict[0])

KeyError: 0

ここで、辞書のキー 0 にアクセスすると、キー 0 が存在しないため、KeyError 0 が生成されます。

Python で KeyError 0 を解決する方法は複数あります。 以下は、説明とコードを含むいくつかの方法です。

try-except ブロックを使用して Python で KeyError 0 を解決する

この例では、0 は dict で定義されていませんが、try-except ブロックが処理するため、KeyError 0 例外は発生しません。 エラーの代わりに、例外ブロックにステートメントを出力します。

コード例:

# Python 3.x
dict = {3: "Kelvin", 5: "James", 6: "Danial"}
try:
    print(dict[0])
except KeyError:
    print("key not present in the dictionary")

出力:

#Python 3.x
key not present in the dictionary

dict.get() を使用して Python で KeyError 0 を解決する

get() メソッドは効果的に KeyError を処理します。 get() を使用すると、辞書に存在しないキーのデフォルト値またはメッセージを返すことができます。

この例では、キー 0 が存在しないため、デフォルトの set ステートメントを出力します: キー 0 は辞書に存在しません. デフォルト値を指定しない場合、このメソッドは None を返します。

コード例:

# Python 3.x
dict = {3: "Kelvin", 5: "James", 6: "Danial"}
print(dict.get(0, "key 0 does not exist in dictionary"))

出力:

#Python 3.x
key 0 does not Exist in dictionary

if-else を使用して Python で KeyError 0 を解決する

キー0にアクセスする前に、例に示すようにforループとif-elseステートメントを使用して、キーが辞書に存在するかどうかを確認できます。 キーに対して辞書の値のみを出力します。

コード例:

# Python 3.x
dict = {3: "Kelvin", 5: "James", 6: "Danial"}
for i in range(1, 7):
    if i in dict:
        print(dict[i])
    else:
        continue

出力:

#Python 3.x
Kelvin
James
Danial
著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

関連記事 - Python Error