ホームページ > バックエンド開発 > Python チュートリアル > Python エラーを解決します: KeyError: 'xxx'

Python エラーを解決します: KeyError: 'xxx'

王林
リリース: 2023-08-19 23:10:57
オリジナル
2007 人が閲覧しました

解决Python报错:KeyError: \'xxx\'

Python エラーの解決策: KeyError: 'xxx'

Python プログラミング プロセス中に、さまざまなエラー メッセージが頻繁に発生します。その中でも、KeyError: 'xxx' は一般的なエラーの種類の 1 つです。このエラーは通常、辞書 (dict) を使用するときに発生します。存在しないキーを通じて辞書内の値にアクセスしようとすると、Python は KeyError 例外をスローします。

たとえば、生徒の名前と対応する成績を含む辞書があるとします。

student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
print(student_scores['Alice'])
print(student_scores['David'])
ログイン後にコピー

上記のコードでは、最初はキー「Alice」を通じて対応する値 95 に正常にアクセスしましたが、 we KeyError: 'David' は、キー 'David' にアクセスしようとすると、キーが辞書に存在しないため発生します。

それでは、KeyError: 'xxx' というエラーが発生した場合、どのように解決すればよいでしょうか?以下に一般的な解決策をいくつか紹介します。

  1. キーが存在するかどうかを確認する: 辞書にアクセスする前に、in キーワードを使用して、アクセスするキーが存在するかどうかを確認できます。例:
student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
if 'David' in student_scores:
    print(student_scores['David'])
else:
    print("Key 'David' not found")
ログイン後にコピー

これにより、キー「David」が存在しない場合でも、KeyError 例外は発生しません。

  1. get() メソッドを使用する: ディクショナリ オブジェクトには get() メソッドが用意されており、キーが存在しない場合に KeyError 例外をスローする代わりにデフォルト値を返すことができます。例:
student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
print(student_scores.get('David', 'Key not found'))
ログイン後にコピー

上記のコードでは、存在しないキー 'David' にアクセスすると、KeyError 例外なしで文字列 'Key not found' が返されます。

  1. try-Except ステートメントを使用する: 特定のキーに問題がある可能性がある場合は、try-Except ステートメントを使用して KeyError 例外をキャッチし、対応する処理コードを実行できます。例:
student_scores = {'Alice': 95, 'Bob': 88, 'Charlie': 92}
try:
    print(student_scores['David'])
except KeyError:
    print("Key 'David' not found")
ログイン後にコピー

この例では、KeyError 例外が発生すると、プログラムの実行を中断することなく、次のコード ブロックが実行され、「Key 'David' not found」が出力されます。

要約すると、KeyError: 'xxx' エラーが発生した場合は、get() メソッドを使用するか、try-excel ステートメントを使用して、キーが存在するかどうかを確認することで問題を解決できます。これらのメソッドは、辞書内のキーと値のアクセス例外をより適切に処理し、プログラムの堅牢性と安定性を向上させるのに役立ちます。

この記事が Python エラー: KeyError: 'xxx' の解決に役立ち、誰もがこの一般的なエラー タイプにうまく対処できるようになることを願っています。

以上がPython エラーを解決します: KeyError: 'xxx'の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート