今回は、Pythonの辞書型(dictionary)について学習します。
dictionaryとは?
dictionaryはリストと似ていますが、少し仕様が異なっています。dictionaryには、”key”と”value”という要素が含まれています。
例えば上記の画像の例では、”Tokyo”がkey、1400がvalueとなります。このように、{key : value}で表現できるデータ型のことを、辞書型(Dictionary)と呼びます。
dictionaryの作成
dictionaryは、波括弧{}を使うと簡単に作成できます。
例:
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
先ほども書いてように、dictionaryにはkeyとvalueという関係があるため、特定のkeyに紐付けられているvalueを調べることも可能です。
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
print(dict["Tokyo"]) #1400
データを追加する
一度dictionaryを作成した後でも、データを追加することができます。
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
dict["Hokkaido"] = 500 #データを追加する
print(dict)
データを追加する際も、keyとvalueを用意する必要があります。上記の例では、”Hokkaido”がkey、500がvalueです。
keyだけを抽出する
keys()メソッドを使うと、dictionaryに入っているkeyだけを取り出すことができます。
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
print(dict.keys())
#出力: dict_items([('Tokyo', 1400), ('Osaka', 800), ('Kanagawa', 900)])
valueだけを抽出する
values()を使うと、valueだけを抽出することができます。
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
print(dict.values())
#出力: dict_values([1400, 800, 900])
keyとvalueを一緒に抽出する
items()メソッドを使うと、keyとvalueを一緒に取り出すことができます。
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
print(dict.items())
#出力: dict_items([('Tokyo', 1400), ('Osaka', 800), ('Kanagawa', 900)])
要素を削除する
dictionaryの要素を削除したい場合は、pop()メソッドを使います。
pop()メソッドでは、特定のkeyを指定すると、keyとそれに紐付けられたvalueを削除することができます。
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
dict.pop("Tokyo")
print(dict)
#出力: {'Osaka': 800, 'Kanagawa': 900}
要素削除の方法は他にもあります。たとえば、”del”を使って行うことも可能ですし、popitem()メソッドを使えば、dictionaryの末尾の要素を削除できます。
例:delを使って削除する
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
del dict["Tokyo"] #delを使って、削除したい要素のkeyを指定する
print(dict)
#出力: {'Osaka': 800, 'Kanagawa': 900}
例:popitem()で末尾の要素を削除する
dict = {"Tokyo" : 1400, "Osaka" : 800, "Kanagawa" : 900}
dict.popitem()
print(dict)
#出力: {'Tokyo': 1400, 'Osaka': 800}
まとめ
- dictionary(辞書)→”key”と”value”から成る要素を管理できる
- keys(),values()メソッドを使うことでkeyやvalueだけを取り出せる
- items()メソッドを使うことで、keyとvalueを一緒に取り出せる
- delやpop()などを使うと、要素を削除できる