Pythonの辞書(dict)とは?キーと値を使ったデータ管理の基本
生徒
「Pythonでデータを名前で管理したいときってどうするんですか?たとえば、人の名前と年齢をセットにしたいとか。」
先生
「その場合は、辞書型(dict)
を使うのが便利です。リストやタプルと違って、データに名前をつけて管理できるんですよ。」
生徒
「リストとはどう違うんですか?」
先生
「それでは、Pythonの辞書型について、基本からしっかり学んでいきましょう!」
1. Pythonの辞書(dict)とは?
Pythonの辞書(じしょ)型は、データを「キー」と「値」のペアで管理する仕組みです。「キー」は名前やラベルのようなもので、「値」はその名前に対応する中身です。
たとえば、「名前:たろう、年齢:25歳」という情報を持ちたいとき、辞書を使うと次のように書けます。
person = {"名前": "たろう", "年齢": 25}
このように、中かっこ {}
の中に"キー": 値
の形式でデータを並べていきます。
2. キーと値の意味と使い方
辞書型の「キー」は、データを取り出すときの名前のようなものです。「値」は、そのキーに対応する実際のデータです。
データを取り出すときは、[]
の中にキーを書きます。
print(person["名前"])
print(person["年齢"])
たろう
25
キーは文字列(ダブルクォーテーションで囲まれた文字)で指定することが多いです。
3. 辞書に新しいデータを追加する方法
Pythonの辞書に新しいキーと値を追加するには、辞書名["新しいキー"] = 値
の形で書きます。
person["住所"] = "東京都"
print(person)
{'名前': 'たろう', '年齢': 25, '住所': '東京都'}
このようにして、あとから新しい情報を自由に追加できます。
4. 辞書のデータを変更・削除する方法
すでにあるデータの「値」を変更したいときは、キーを指定して代入
するだけです。
person["年齢"] = 26
また、辞書から特定のデータを削除したい場合はdel
を使います。
del person["住所"]
print(person)
{'名前': 'たろう', '年齢': 26}
5. 辞書にあるキーや値を確認する方法
辞書にどんなキーがあるかを調べるには、keys()
メソッドを使います。値を調べたいときはvalues()
を使います。
print(person.keys())
print(person.values())
dict_keys(['名前', '年齢'])
dict_values(['たろう', 26])
また、キーと値の両方を確認したいときはitems()
を使います。
for key, value in person.items():
print(key, value)
名前 たろう
年齢 26
6. キーが存在するか確認する方法
辞書に指定したキーが存在するかどうかを確認したいときは、in
を使います。
if "名前" in person:
print("名前のデータがあります")
名前のデータがあります
キーがあるかどうかで処理を変えたいときに便利な書き方です。
7. 辞書とリストの違いと使い分け
リストと辞書はどちらも複数のデータをまとめて管理するための方法ですが、使い道が違います。
- リスト(
list
)は順番で管理する - 辞書(
dict
)は名前(キー)で管理する
例えば、5人の生徒の名前を順番に並べたいときはリスト。
それぞれの生徒に「名前」「年齢」「住所」といった情報を持たせたいなら辞書が向いています。
8. ネストされた辞書(辞書の中に辞書)
Pythonでは、辞書の中に辞書を入れることもできます。これをネスト(入れ子)と言います。
たとえば、複数の人の情報を管理する辞書:
students = {
"sato": {"名前": "さとし", "年齢": 18},
"suzuki": {"名前": "すずき", "年齢": 17}
}
print(students["sato"]["名前"])
さとし
このようにすれば、たくさんの人の情報を整理して管理できます。