資格スワイプ
データ構造・モジュール・標準ライブラリPartII・仮想環境(5,6,11,12章)

辞書 d = {'a': 1, 'b': 2} に対して、存在しないキー 'c' を d['c'] で参照した場合と d.get('c') で参照した場合の違いに関する説明として、正しいものはどれか。

  • Ad['c']もd.get('c')も共にNoneを返す。
  • Bd['c']はNoneを返すが、d.get('c')はKeyErrorを送出する。
  • Cd['c']もd.get('c')も共にKeyErrorを送出する。
  • ✓d['c']はKeyErrorを送出するが、d.get('c')はNoneを返す。

解説

角括弧によるアクセスで存在しないキーを指定するとKeyErrorが発生するが、get()メソッドは存在しない場合に例外を発生させず、デフォルトでNone(第2引数を指定すればその値)を返す。

根拠Pythonチュートリアル 5.5 辞書(dict.getメソッドと角括弧アクセスの違い)

← 前の問題次の問題 →
スワイプでまとめて流す