カテゴリ: Python 更新日: 2026/01/10

Pythonの辞書(dict)とは?キーと値を使ったデータ管理の基本

Pythonの辞書(dict)とは?キーと値を使ったデータ管理の基本
Pythonの辞書(dict)とは?キーと値を使ったデータ管理の基本

先生と生徒の会話形式で理解しよう

生徒

「Pythonでデータを名前で管理したいときってどうするんですか?たとえば、人の名前と年齢をセットにしたいとか。」

先生

「その場合は、辞書型(dict)を使うのが便利です。リストやタプルと違って、データに名前をつけて管理できるんですよ。」

生徒

「リストとはどう違うんですか?」

先生

「それでは、Pythonの辞書型について、基本からしっかり学んでいきましょう!」

-

1. Pythonの辞書(dict)とは?

1. Pythonの辞書(dict)とは?
1. Pythonの辞書(dict)とは?

Pythonの辞書(じしょ)型は、データを「キー」と「値」のペアで管理する仕組みです。 「キー」はデータを識別するための名前やラベルのような役割を持ち、 「値」はそのキーに対応する実際の中身になります。 番号で管理するリストとは違い、意味のある名前でデータを扱えるため、 プログラムの内容を読み返したときにも理解しやすいのが特徴です。

たとえば、人の情報として「名前」や「年齢」をひとまとめに管理したい場合、 辞書を使うと現実の情報に近い形で表現できます。 プログラミング未経験の方でも、「名前にはこの値」「年齢にはこの数値」 という対応関係を直感的にイメージしやすくなります。


person = {"名前": "たろう", "年齢": 25}

この例では、「名前」というキーに「たろう」という文字列の値、 「年齢」というキーに25という数値の値を対応させています。 辞書は中かっこ {}を使い、 "キー": 値の形でデータを並べていくのが基本です。 まずは「辞書はキーと値をセットで覚える箱」と考えると、理解しやすくなります。

2. キーと値の意味と使い方

2. キーと値の意味と使い方
2. キーと値の意味と使い方

辞書型の「キー」は、データを取り出すための名前や目印のような存在です。 一方で「値」は、そのキーに対応する実際のデータの中身を表します。 リストのように番号で指定するのではなく、意味のある名前でデータを扱えるため、 何の情報を使っているのかが直感的に分かりやすくなります。

辞書から値を取り出すときは、[]の中にキーを書きます。 「この名前のデータを使いたい」と指定するイメージで読むと理解しやすいです。


print(person["名前"])
print(person["年齢"])

たろう
25

この例では、「名前」というキーを指定すると「たろう」が、 「年齢」というキーを指定すると25が表示されます。 キーは文字列で指定することが多く、ダブルクォーテーションで囲むのが基本です。 まずは「キーで値を取り出す」という使い方に慣れていきましょう。

3. 辞書に新しいデータを追加する方法

3. 辞書に新しいデータを追加する方法
3. 辞書に新しいデータを追加する方法

Pythonの辞書に新しいキーと値を追加するには、辞書名["新しいキー"] = 値の形で書きます。 すでにある辞書にあとから情報を足せるので、「必要になった項目だけ追加する」といった使い方ができて便利です。 住所や電話番号など、後から増えるデータがある場面でよく使われます。

たとえば、先ほどのpersonに「住所」を追加したい場合は、次のように書きます。 キーが新しければ追加になり、辞書の中にそのまま保存されます。


person["住所"] = "東京都"
print(person)

{'名前': 'たろう', '年齢': 25, '住所': '東京都'}

このように、辞書は「キー:値」のペアを自由に増やしていけます。 なお、同じキーにもう一度代入すると追加ではなく上書きになる点も覚えておくと安心です。 まずは「辞書は後から情報を足せる」とイメージして、使い方に慣れていきましょう。

4. 辞書のデータを変更・削除する方法

4. 辞書のデータを変更・削除する方法
4. 辞書のデータを変更・削除する方法

辞書にすでに入っているデータの「値」を変更したいときは、 キーを指定して新しい値を代入するだけでOKです。 追加の命令は不要で、同じキーに別の値を入れると、元の値が自動的に置き換わります。 「情報を更新する」という感覚で使えるのが、辞書の分かりやすいポイントです。


person["年齢"] = 26

このように書くと、「年齢」というキーに対応する値が25から26に変更されます。 キーがすでに存在している場合は追加ではなく、変更(上書き)になる点を覚えておきましょう。

一方、辞書から特定のデータを取り除きたい場合は、delを使ってキーを指定します。 もう使わない情報や不要になった項目を整理するときに便利です。


del person["住所"]
print(person)

{'名前': 'たろう', '年齢': 26}

この例では、「住所」というキーとその値が辞書から完全に削除されています。 辞書はデータの追加・変更・削除を柔軟に行えるため、 状況に応じて中身を更新したい場面でとても扱いやすいデータ型です。

-

5. 辞書にあるキーや値を確認する方法

5. 辞書にあるキーや値を確認する方法
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. キーが存在するか確認する方法

6. キーが存在するか確認する方法
6. キーが存在するか確認する方法

辞書に指定したキーが存在するかどうかを確認したいときは、inを使います。


if "名前" in person:
    print("名前のデータがあります")

名前のデータがあります

キーがあるかどうかで処理を変えたいときに便利な書き方です。

7. 辞書とリストの違いと使い分け

7. 辞書とリストの違いと使い分け
7. 辞書とリストの違いと使い分け

リストと辞書はどちらも複数のデータをまとめて管理するための方法ですが、使い道が違います。

  • リスト(list)は順番で管理する
  • 辞書(dict)は名前(キー)で管理する

例えば、5人の生徒の名前を順番に並べたいときはリスト。
それぞれの生徒に「名前」「年齢」「住所」といった情報を持たせたいなら辞書が向いています。

8. ネストされた辞書(辞書の中に辞書)

8. ネストされた辞書(辞書の中に辞書)
8. ネストされた辞書(辞書の中に辞書)

Pythonでは、辞書の中に辞書を入れることもできます。これをネスト(入れ子)と言います。

たとえば、複数の人の情報を管理する辞書:


students = {
    "sato": {"名前": "さとし", "年齢": 18},
    "suzuki": {"名前": "すずき", "年齢": 17}
}
print(students["sato"]["名前"])

さとし

このようにすれば、たくさんの人の情報を整理して管理できます。

まとめ

まとめ
まとめ

辞書型を使うと何がうれしいのか

Pythonの辞書型は、データをキーと値の組み合わせで扱えるため、名前付きで情報を整理したい場面にとても強いです。 たとえば人の情報なら名前年齢住所、商品の情報なら商品名価格在庫、設定なら言語テーマ通知のように、 それぞれの項目を「意味のあるラベル」で管理できます。リストのように番号で探す必要がないので、 プログラミング初心者でも「何を取り出しているのか」が読み取りやすくなります。 辞書は一つの箱に複数の情報をまとめられるだけでなく、あとから項目を追加したり、値を更新したり、 使わなくなった項目を削除したりできるので、現実のデータ管理に近い形で扱えます。 さらに、キーが存在するかを確認してから処理を分けることで、入力ミスや不足データによるエラーを減らせる点も大切です。

基本操作の流れを一つの例で振り返る

辞書の基本は「作る」「取り出す」「追加する」「変更する」「削除する」「一覧を見る」「存在確認する」という流れです。 まず中かっこで辞書を作り、角かっこでキーを指定して値を取り出します。 新しい情報はキーを決めて代入すれば追加でき、同じキーに代入すれば上書き更新になります。 削除はdelを使い、keysやvaluesやitemsで中身を確認できます。 そして「そのキーがあるかどうか」をinで確かめてから処理を進めると、実用的で安全なコードになります。 この一連の考え方を身につけると、辞書を使ったデータ管理が一気に分かりやすくなります。

サンプルプログラム

次のサンプルは、辞書の作成から取り出し追加更新削除確認までを、なるべく短い流れでまとめたものです。 画面に表示される結果を見ながら、キーと値の動きを確認してみてください。


person = {"名前": "たろう", "年齢": 25}

# 取り出し
print(person["名前"])

# 追加
person["住所"] = "東京都"

# 更新
person["年齢"] = 26

# 存在確認
if "住所" in person:
    print("住所があります")

# 一覧表示
for key, value in person.items():
    print(key, value)

# 削除
del person["住所"]
print(person)

たろう
住所があります
名前 たろう
年齢 26
住所 東京都
{'名前': 'たろう', '年齢': 26}

ネストの考え方も押さえると整理が一段楽になる

辞書は辞書の中に辞書を入れられるので、複数人の情報や複数商品の情報をまとめて管理するのが得意です。 たとえば生徒ごとに名前年齢学年を持たせたいなら、生徒番号やログイン名を外側のキーにして、 内側にそれぞれのプロフィール辞書を入れると、情報のまとまりがきれいになります。 取り出すときは外側のキーで対象を選び、さらに内側のキーで欲しい値を選ぶだけなので、 どこに何が入っているかを意識しやすいのもポイントです。 ただし入れ子が深くなりすぎると見づらくなるので、まずは二段階のネストを目安に覚えると安心です。


students = {
    "sato": {"名前": "さとし", "年齢": 18},
    "suzuki": {"名前": "すずき", "年齢": 17}
}

print(students["sato"]["名前"])

さとし

よくあるつまずきと覚え方

初心者がつまずきやすいのは「キーがないのに取り出そうとしてしまう」ことです。 角かっこで存在しないキーを指定するとエラーになります。 だからこそinで確認してから取り出す癖を付けると安心です。 もう一つは、リストの番号と辞書のキーを混同してしまうことです。 リストは順番、辞書は名前という役割の違いを意識すると、使い分けが自然になります。 そして最後に、辞書の中身を確認したいときはitemsで回して表示すると理解が進みます。 自分で値を変えて表示がどう変わるかを試すだけでも、辞書の感覚が早く身につきます。

実際の開発でよく出る使いどころ

辞書型は学習用の例だけでなく、実際のプログラムでも頻繁に登場します。 たとえばフォーム入力の内容をまとめて受け取る場面では、項目名と入力値をペアで持つのが自然です。 設定ファイルを読み込んで、画面の表示方法や言語や時間形式を切り替える場面でも、設定名と設定値を辞書で管理すると扱いやすくなります。 また、集計処理でも辞書は活躍します。商品名ごとの合計、都道府県ごとの件数、学年ごとの人数のように、 「ある分類ごとに値をためる」処理は、キーを分類名にして値を数や合計にするだけで表現できます。 こうした場面を想像しながら学ぶと、辞書の操作が単なる文法ではなく、現実のデータ整理そのものだと分かってきます。

読みやすい辞書を書くための小さなコツ

辞書を読みやすくするコツは、キーの付け方をそろえることです。 たとえば名前年齢住所のように同じ種類の情報を扱うなら、表記ゆれを減らし、同じ意味のキーは同じ文字で統一します。 さらに、辞書の中身が増えてきたら、itemsで中身を表示して確認する習慣を付けると、データの状態を見失いにくくなります。 エラーが出たときも、どのキーが足りないのか、どの値が想定と違うのかを見つけやすくなります。 初心者のうちは、いきなり難しい例に進むよりも、身近なプロフィールや買い物メモのような題材で、 追加更新削除を何度も繰り返すのがおすすめです。手を動かして変化を確認するほど、辞書は得意分野になります。

辞書とリストで迷ったときの判断ポイント

どちらを使うか迷ったときは、まず「順番が重要か」「名前で取り出したいか」を考えると決めやすいです。 順番に意味があるならリスト、項目に意味を持たせたいなら辞書、という感覚です。 たとえば今日やることを上から順に並べるならリストが向いています。 一方で一つの予定に開始時刻終了時刻場所メモのような情報を持たせたいなら、辞書でまとめるほうが読みやすくなります。 辞書のキーは同じものを二つ持てないので、同じキーに代入すると更新になる点も覚えておくと混乱しません。 こうした判断ができるようになると、Pythonでのデータ管理がぐっと楽になります。慣れてくると整理の速さも上がります。

先生と生徒の振り返り会話

生徒

「辞書って、ただの箱じゃなくて、名前でデータを探せるのが便利なんですね。リストより分かりやすい場面が多そうです。」

先生

「そうです。キーがラベルになるので、何を扱っているかが読みやすくなります。追加や更新や削除も直感的にできますよ。」

生徒

「でも、キーがないのに取り出すとエラーになるのが少し怖いです。」

先生

「その心配は大事です。まずinで存在確認してから取り出す、という手順を覚えると安全になります。慣れるほどミスが減ります。」

生徒

「itemsで全部表示して確認できるのも助かりました。中身を見ながら理解できそうです。」

先生

「いいですね。辞書はデータ管理の基本なので、名前年齢住所みたいな身近な例で練習すると定着が早いです。次は入れ子の辞書も少しずつ触れていきましょう。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
-
-