レッスン1 / 2問目

『KeyError』

このレッスンではKeyErrorについて学習していきましょう。

KeyErrorは存在しないキーを指定した際に返されるメッセージです。

エディタには野菜を集計するコードが記述してあります。しかし、このコードは正しくないためエラーが発生します。まずはコードを実行してください。

すると以下のようなエラーメッセージが返ってきます。

Traceback (most recent call last): File "main.py", line 8, in < module > vegetables_dict[vegetable] += 1 KeyError: 'トマト'

上記よりエラーが発生したのは「vegetables_dict[vegetable] += 1」の部分であることがわかります。

また、一番下のエラー内容を見ると「KeyError: 'トマト'」というエラーメッセージが返ってきています。これは「トマトなんてキーは存在しないよ」という内容のメッセージです。よくプログラムを見ると集計を行う辞書の中にキーが存在しないことがわかります。

このようにKeyErrorは存在しないキーを指定した際に出力されるエラーですので覚えておきましょう。

ではこのコードの間違っている個所を修正し集計結果を出力してください。 正しく集計結果が出力されると正解となります。

Last updated:2019/10/12

{'トマト': 5, 'ナス': 3, 'ピーマン': 1}

●辞書にキーが存在するかのチェックは以下のように記述します。

if キー in 辞書

●辞書に値を追加する場合は以下のように記述します。

辞書[キー] += 1

●辞書に新たにキーを追加するには以下のように記述します。

辞書[キー] = 1
  1. vegetables_dict = {}

  2. vegetables_list = ["トマト","ナス","ピーマン",
  3. "トマト","トマト","ナス",
  4. "トマト","トマト", "ナス",]

  5. for vegetable in vegetables_list:
  6. if vegetable in vegetables_dict:
  7. vegetables_dict[vegetable] += 1
  8. else:
  9. vegetables_dict[vegetable] = 1


  10. print(vegetables_dict)
main.py
設定
g
n
i
d
a
o
L