【Python】KeyErrorの解決方法

こんにちは、にわこまです。

今回は、pythonで辞書から値を取り出そうとしたときに発生するKeyErrorの解決方法を紹介します。辞書はキーを指定して値を取り出します。ゆえに、キーは重要な役割を担っています。そんなキーの動作を理解しましょう。

 

誤字脱字や分からない点、解決してほしい問題があればご連絡お願いいたします。

メールまたはTwitterのDMまで!

 

 

スポンサードサーチ


KeyErrorの解決方法

・辞書に含まれているキーを指定する

・キーを指定する前に、キーが含まれているか確認する

 

キーが含まれているか確認することでKeyErrorを解決することができます。

 

そもそも「KeyError」とは、「キーが見つかりません」というエラーです。

 

 

 

エラーのサンプルコード

エラーが発生するサンプルコードとその実行結果を以下に示します。

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まで!

 

 

最後までお読みいただきありがとうございます。


スポンサードサーチ