· Fuga578 · Python基礎 · 7 min read
Pythonの辞書 (dict) で何ができるか — 初心者のための完全入門
Pythonのdictを「キーと値のペア」と暗記する前に、何のために存在するのか / どんな場面で使うのかを実例で理解しましょう。

Python を学んでいて、リストの次にぶつかる壁が「辞書 (dict)」。中括弧 {} で囲んでコロン : で区切るあれです。
「キーと値のペア」と教えられても、どんな場面で使うかピンとこない人も多いはず。この記事では、辞書がいつ・なぜ必要になるのか を、コード例と一緒に整理します。
辞書ってなに
辞書は「名前で値を引き出せるデータ構造」。
リストが「順番で値を引き出すもの」(my_list[0], my_list[1]…) なのに対し、辞書は「ラベルで値を引き出すもの」です。
# リスト: 番号で引く
scores_list = [80, 92, 75]
print(scores_list[0]) # 80 (1人目の点数)
# 辞書: ラベルで引く
scores_dict = {"田中": 80, "佐藤": 92, "鈴木": 75}
print(scores_dict["田中"]) # 80リストは「順番に並んだもの」、辞書は「対応関係のあるもの」を扱うときに使います。
基本の書き方
作成
profile = {
"name": "サクヤ",
"age": 17,
"hobby": "ゲーム",
}
print(profile){'name': 'サクヤ', 'age': 17, 'hobby': 'ゲーム'}{ "キー": 値, ... } の形。最後にカンマを残しておくと、後で項目を追加しやすいので便利。
値の取り出し
print(profile["name"]) # サクヤ
print(profile["age"]) # 17[] の中にキーを入れます。リストとそっくりですが、中身がインデックスではなく「キー」になっただけ。
値の追加・更新
profile["job"] = "メイド" # 新しいキーを追加
profile["age"] = 18 # 既存のキーを更新
print(profile){'name': 'サクヤ', 'age': 18, 'hobby': 'ゲーム', 'job': 'メイド'}存在しないキーに代入すれば追加、存在するキーに代入すれば更新。シンプル。
値の削除
del profile["hobby"]または pop を使うと「削除しつつ値を取り出す」もできます。
removed = profile.pop("hobby")
print(removed) # ゲームどんな場面で使う?
辞書が活きる典型的な3パターン。
1. 「集計・カウント」したいとき
リストの中で「どの値が何回出現したか」を数える、定番のパターン。
votes = ["りんご", "バナナ", "りんご", "みかん", "りんご", "バナナ"]
count = {}
for v in votes:
count[v] = count.get(v, 0) + 1
print(count){'りんご': 3, 'バナナ': 2, 'みかん': 1}count.get(v, 0) は「v がキーにあれば値を、なければ 0」を返す書き方。これがあるおかげで if キーがある: ... else: ... を書かずに済みます。
2. 「設定」を表現したいとき
ゲームのキャラクター設定、APIへのリクエストパラメータなど、「項目ごとに値を持つもの」は辞書の出番。
player = {
"name": "勇者",
"hp": 100,
"mp": 30,
"level": 1,
"weapon": "鉄の剣",
}
# ダメージを受けた
player["hp"] -= 15
print(f"{player['name']} の残りHP: {player['hp']}")勇者 の残りHP: 85
リストで player[0] = "勇者", player[1] = 100 … と書くより、ずっと読みやすい。
3. 「対応表」を作りたいとき
「英語 → 日本語」「商品コード → 商品名」のような、変換を表すのにぴったり。
weather = {
"sunny": "晴れ",
"cloudy": "曇り",
"rainy": "雨",
"snowy": "雪",
}
today = "rainy"
print(f"今日は {weather[today]} です")今日は 雨 です
if-elif の長いチェーンを書く代わりに、辞書1つで一気にマッピングできる。
知っておくと便利なメソッド
get — キーがなくてもエラーにしない
profile = {"name": "サクヤ"}
# 存在しないキー
print(profile["age"]) # ❌ KeyError
print(profile.get("age")) # ✅ None
print(profile.get("age", 0)) # ✅ デフォルト値を指定: 0KeyError を防ぐ定番。入門初期から get を使う癖を付けると楽です。
keys / values / items — 反復処理
profile = {"name": "サクヤ", "age": 17}
for key in profile.keys():
print(key) # name, age (キーだけ)
for value in profile.values():
print(value) # サクヤ, 17 (値だけ)
for key, value in profile.items():
print(f"{key}: {value}") # name: サクヤ, age: 17 (両方)ループで処理するときは items() を使うことが多いです。
in — キーがあるか確認
profile = {"name": "サクヤ"}
print("name" in profile) # True
print("age" in profile) # False「キーが存在するか」だけをチェックしたいなら in 演算子。
よくあるつまずき
まとめ
- 辞書は「名前で値を引き出せるデータ構造」
- リストの代わりに使うのではなく、「項目に名前を付けたい」「対応関係を表したい」ときに使う
get(キー, デフォルト)で安全にアクセス、.items()でループ- キーには変更できないもの (文字列・数値・タプル) しか使えない
辞書を理解できると、Python のコードが一気に読めるようになります。 JSON や設定ファイル、Webリクエストのパラメータなど、ほぼあらゆる場面で出てくるので、最初の入門期にしっかり押さえておきたい型です。


