Python: ディクショナリ(辞書)の要素の値を取得する []

ディクショナリの要素の値を取得 []

Pythonでディクショナリ(辞書)の要素の値を取得する場合は、 リストと同じように []角括弧を使いますが、[] の中にはキーを指定します。

ディクショナリ名[キー]

次のコードでは、キーが「a」の要素値を取得しています。

# ディクショナリ
d = {"a": 10, "b": 20, "c": 30}

# キーが"a"の要素値を取得
print(d["a"])  # 10

存在しないキーを指定するとエラーが出る

「ディクショナリ[キー]」で要素を取得する場合、 存在しないキーを指定すると「KeyError」が発生します。

# ディクショナリ
d = {"a": 10, "b": 20, "c": 30}

print(d["g"])  # エラー
実行結果
Traceback (most recent call last):
  File "test.py", line 6, in 
    print(d["g"]) # 10
KeyError: 'g'

キーが存在するかどうか確認する方法 in

上のようなエラーを防ぐためには、 キーが存在するかどうかを事前に確認する必要があります。

指定するキーがディクショナリに存在するかを確認するには、 in 演算子を使います。

キー in ディクショナリ

キーが存在する場合は True、存在しない場合は False が戻ります。

次のコードは if 文でキーが存在する場合と、存在しない場合を 分岐させています。
このように記述するとキーが存在しない場合でもエラーを防ぐことができます。

# ディクショナリ
d = {"a": 10, "b": 20, "c": 30}

if "g" in d:
	print(True)
	# 存在する場合の処理
else:
	print(False)
	# 存在しない場合の処理

他の方法としてディクショナリの get()メソッドを使って取得することもできます。

関連記事: 要素の値を取得 get()