【Python】KeyErrorの解決方法
こんにちは、にわこまです。
今回は、pythonで辞書から値を取り出そうとしたときに発生するKeyErrorの解決方法を紹介します。辞書はキーを指定して値を取り出します。ゆえに、キーは重要な役割を担っています。そんなキーの動作を理解しましょう。
誤字脱字や分からない点、解決してほしい問題があればご連絡お願いいたします。
メールまたはTwitterのDMまで!
スポンサードサーチ
KeyErrorの解決方法
・辞書に含まれているキーを指定する
・キーを指定する前に、キーが含まれているか確認する
キーが含まれているか確認することでKeyErrorを解決することができます。
そもそも「KeyError」とは、「キーが見つかりません」というエラーです。
Python KeyErrorの公式ドキュメントはこちら
Python dictの公式ドキュメントはこちら
エラーのサンプルコード
エラーが発生するサンプルコードとその実行結果を以下に示します。
d = {"crow":33, "eagle":63, "flamingo":99}
print(d["duck"])
=== 実行結果 ===
Traceback (most recent call last):
File "dict_keyerror.py", line 2, in <module>
print(d["duck"])
KeyError: 'duck'
上記のサンプルコードはduckの値を表示するコードです。
2行目の「d[“duck”]」で辞書に含まれないキーを指定しているため、エラーが発生しました。
辞書に含まれているキーを指定することでエラーを解決することができます。
または、キーを指定する前に辞書に含まれているか確認することでエラーを回避することができます。
エラーを解決したサンプルコードとその実行結果を以下に示します。
d = {"crow":33, "eagle":63, "flamingo":99}
print(d["crow"])
=== 実行結果 ===
33
d = {"crow":33, "eagle":63, "flamingo":99}
k = "duck"
if(k in d):
print(d[k])
=== 実行結果 ===
補足
get()を使えば、辞書にキーが含まれていなくてもエラーが発生しません。
しかし、辞書に含まれていないキーを指定した場合、Noneが返却されます。
サンプルコードとその実行結果を以下に示します。
d = {"crow":33, "eagle":63, "flamingo":99}
print(d.get("flamingo"))
=== 実行結果 ===
99
d = {"crow":33, "eagle":63, "flamingo":99}
print(d.get("duck"))
=== 実行結果 ===
None
まとめ
今回は、pythonで辞書から値を取り出そうとしたときに発生するKeyErrorの解決方法を紹介しました。
辞書はリストや集合、タプルとは異なりキーを指定して値を取り出すため、キーの動作を理解しましょう。
改めて解決方法を示します。
・辞書に含まれているキーを指定する
・キーを指定する前に、キーが含まれているか確認する
解決してほしい問題などがありましたらメールまたはTwitterのDMまで!
最後までお読みいただきありがとうございます。
スポンサードサーチ