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年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。
最新の投稿
山崎講師2025年10月11日属人化を防ぐ!再現性と網羅性を高めるテスト設計の基本
全ての社員2025年10月11日交渉で損しない!エンジニアが知るべきBATNAとZOPAの関係とは?
山崎講師2025年10月10日【AI開発の登竜門】Google製ライブラリ「TensorFlow」とは?新人エンジニア向けに徹底解説!
山崎講師2025年10月10日【入門】scikit-learnとは?機械学習の「家庭教師」を新人エンジニア向けに徹底解説!