Pythonの辞書(dict)とは?基本操作から使い方までを徹底解説!【初心者向け】

こんにちは。ゆうせいです。

Pythonを学び始めると、まずリスト(list)を使って複数のデータをまとめて管理しますよね。

[10, 20, 30] のように、順番にデータを格納できるので非常に便利です。

でも、もし格納したデータに「名前」や「ラベル」を付けて、もっと分かりやすく管理したくなったらどうしますか?

例えば、個人のプロフィールを管理したいとき、「0番目が名前、1番目が年齢…」と番号で覚えるのは少し大変ですよね。

そんなときに大活躍するのが、今回解説する「辞書(ディクショナリ)」です!


辞書(dict)ってなんだろう?

Pythonの辞書(dict型)は、ひと言でいうと「キー(key)」と「値(value)」をペアにしてデータを格納するデータ構造です。

これは、私たちが普段使っている本物の「辞書」をイメージすると、とても分かりやすいですよ。

例えば、「りんご」という言葉の意味を調べたいとき、辞書の最初から一語ずつ探したりはしませんよね。「りんご」という見出し(キー)を探して、そこに書かれている説明(値)を直接読みます。

Pythonの辞書も全く同じ仕組みです。

  • キー (key): データを探すための「見出し」や「ラベル」です。必ずユニーク(一意)である必要があります。
  • 値 (value): キーに対応する「データ本体」です。数値や文字列はもちろん、リストや別の辞書を入れることもできます。

この「キー」と「値」のペアを波括弧 {} で囲むことで、辞書を作成します。

# 空の辞書を作成
empty_dict = {}

# ユーザーのプロフィール情報を辞書で作成
user_profile = {
    "name": "Yusei Yamazaki",
    "age": 28,
    "skills": ["Python", "Go", "JavaScript"],
    "is_engineer": True
}

print(user_profile)

リストがデータの「順番」で管理していたのに対し、辞書は「名前(キー)」で管理している、という点が大きな違いですね!


辞書の基本的な使い方

では、実際に辞書をどうやって操作するのか、基本的な使い方を見ていきましょう。

ここでは先ほどの user_profile を使って解説しますね。

1. 値の取り出し(アクセス)

辞書から値を取り出すには、キーを指定します。

# キーを指定して、対応する値を取り出す
user_name = user_profile["name"]
print(user_name) # "Yusei Yamazaki" が表示される

もし存在しないキーを指定するとエラーになってしまうので注意してください。

エラーを避けたい場合は、.get() メソッドを使うのがおすすめです。キーが存在しない場合に、エラーの代わりにデフォルト値を返すことができます。

# .get() を使うと、キーがなくてもエラーにならない
user_location = user_profile.get("location", "未設定")
print(user_location) # "未設定" が表示される

2. 値の追加と更新

新しいキーと値のペアを追加したり、既存のキーの値を更新したりするのも簡単です。

# 新しいキーと値のペアを追加
user_profile["location"] = "Tokyo"
print(user_profile)

# 既存のキーの値を更新
user_profile["age"] = 29
print(user_profile)

"location" というキーは元々なかったので新しく追加され、"age" は存在していたので値が上書きされました。

3. 値の削除

キーと値のペアを削除するには del を使います。

# "is_engineer" のキーと値のペアを削除
del user_profile["is_engineer"]
print(user_profile)


辞書の便利な繰り返し処理

辞書に格納されたデータを一つずつ処理したい場合、 for ループを使いますが、いくつか便利な方法があります。

# キーを一つずつ取り出す
print("--- キーの一覧 ---")
for key in user_profile.keys():
    print(key)

# 値を一つずつ取り出す
print("--- 値の一覧 ---")
for value in user_profile.values():
    print(value)

# キーと値のペアを一緒に取り出す(一番よく使います!)
print("--- キーと値のペア一覧 ---")
for key, value in user_profile.items():
    print(f"{key}: {value}")

特に、キーと値を同時に取り出せる .items() は非常によく使うので、ぜひ覚えておいてください!


まとめと今後の学習

今回は、Pythonの辞書について、その基本的な考え方から具体的な操作方法までを解説しました。

  • 辞書は「キー」と「値」のペアでデータを管理する
  • リストが「順番」で管理するのに対し、辞書は「名前」で管理する
  • データの参照が非常に高速であるという大きなメリットがある

辞書は、Web APIから返されるJSONデータを扱ったり、プログラムの設定情報を管理したりと、実際の開発現場ではリストと同じくらい、あるいはそれ以上によく使われる非常に重要なデータ構造です。

マスターへの第一歩として、まずは自分の好きなもの(例えば、ゲームのキャラクターや好きな本の情報など)を辞書で表現する練習をしてみてはいかがでしょうか。

次は、辞書をよりスマートに作成できる「辞書内包表記」や、キーが存在しない場合に自動でデフォルト値を作成してくれる defaultdict などについて学んでみると、さらに知識が深まりますよ!

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。