Python で KeyError 0 を解決する
-
Python の
KeyError 0
例外 -
try-except
ブロックを使用して Python でKeyError 0
を解決する -
dict.get()
を使用して Python でKeyError 0
を解決する -
if-else
を使用して 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
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
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません