辞書でキーを指定して値を取得する

広告
eyecatch

辞書に含まれる要素はキーと値の組み合わせとなっており、キーを指定することで対応する値を取得することができます。ここでは辞書でキーを指定して値を取得する方法について解説します。

キーを指定して値を取得する

辞書に含まれる要素にはキーと値の組み合わせが含まれます。辞書に対してキーを指定することで、キーに対応する値を取得することができます。

辞書[キー]

次の例では辞書に対してキーを指定してそれぞれ対応した値を取得しています。

>>> mydict = {"JP":"Japan", "DE":"Germany", "FR":"France"}
>>> print(mydict["DE"])
Germany
>>> print(mydict["FR"])
France
>>> print(mydict["JP"])
Japan
>>>

なお存在しないキーを指定すると KeyError エラーが発生します。

>>> mydict = {"JP":"Japan", "DE":"Germany", "FR":"France"}
>>> print(mydict["BR"])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'BR'
>>>

サンプルプログラム

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample2-1.py という名前で保存します。

mydict = {"JP":"Japan", "DE":"Germany", "FR":"France"}

print(mydict)
key1 = "JP"
print("キー:" + key1 + "、値:" + mydict[key1])
key2 = "FR"
print("キー:" + key2 + "、値:" + mydict[key2])

その後で、次のように実行してください。

python sample2-1.py

キーを指定して値を取得する(1)

辞書に対してキーを指定して対応する値を取得することができました。

getメソッドを使用して値を取得する

キーを指定して値を取得するのは同じですが、存在しないキーを指定した場合にはデフォルト値を返す方法です。辞書型で利用可能な get メソッドを使用します。

辞書.get(key[, default])

get メソッドは引数に指定したキーの要素を取得します。指定したキーが存在しなかった場合は default が返されます。なお default は省略可能で、省略した場合は None が返ります。

具体的には次のように記述します。

>>> mydict = {"JP":"Japan", "DE":"Germany", "FR":"France"}
>>> print(mydict.get("DE"))
Germany
>>> print(mydict.get("EN"))
None
>>>  print(mydict.get("EN", "NotFound"))
NotFound
>>>

キーが存在すれば対応する値を返し、存在しない場合でもエラーとならずに指定した値を返します。

サンプルプログラム

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 sample2-2.py という名前で保存します。

mydict = {"JP":"Japan", "DE":"Germany", "FR":"France"}

print(mydict)
key1 = "JP"
print("キー:" + key1 + "、値:" + mydict.get(key1, "NotFound"))
key2 = "FR"
print("キー:" + key2 + "、値:" + mydict.get(key2, "NotFound"))
key3 = "EN"
print("キー:" + key3 + "、値:" + mydict.get(key3, "NotFound"))

その後で、次のように実行してください。

python sample2-2.py

getメソッドを使用して値を取得する(1)

辞書に対してキーを指定して対応する値を取得することができました。

-- --

辞書でキーを指定して値を取得する方法について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。