1. ホーム
  2. 記事一覧
  3. Pythonの辞書(dict)の入門ガイド|基礎知識と便利メソッド7選を初心者向けに解説!

2025.06.03

Pythonの辞書(dict)の入門ガイド|基礎知識と便利メソッド7選を初心者向けに解説!

はじめに

この記事は、Pythonの辞書型(dict)について、初心者の方が実務や学習の現場でスムーズに使えることを目指した入門ガイドです。

この記事を読むことで、辞書の基本的な作り方・使い方・注意点から、よく使う便利メソッドまでをまとめて学べるため、読後には辞書操作に対する苦手意識がなくなり、自信を持って活用できるようになります。

特に、「KeyErrorの対処法」「リストと辞書の違い」「なぜリストを辞書のキーにできないのか」など、初心者がつまずきやすいポイントに焦点を当て、具体的なコード例を交えながらわかりやすく解説していきます。

ターゲット読者

  • Pythonを学び始めた初心者
  • リストやタプルは触ったことがあるが、辞書はまだ自信がない人
  • よくある辞書エラーでつまずいてしまった人

Pythonの辞書型(dict)とは?

Pythonの辞書型(dict )は、キーkeyと値valueのペアでデータを管理するデータ構造です

リストやタプルのように順序で管理するのではなく、キーを指定して値を直接取得できるのが大きな特徴です。

辞書型の基本構文

辞書は次のような構文で作成します。

my_dict = {key1: value1, key2: value2, key3: value3}

# 辞書名 = {キー1:値1, キー2:値2, キー3:値3}

具体例として、果物の在庫管理は以下のように表せます。

fruits = {"apple": 10, "orange": 5, "strawberry": 8}

このように辞書は、キーを使って関連データを効率よく管理できるため、実務や学習で頻繁に登場します。

次のセクションでは、初心者がよく迷う「リストと辞書の違い」を整理し、用途に応じた使い分けのポイントを確認していきましょう。

Pythonのリストと辞書の違いとは

リストはデータを順序通りに並べたいときに適しており、要素の位置や並べ替えが重要な場面でよく使われます。

一方、辞書は各データに名前(キー)を付けて管理するため、特定の情報を素早く検索・取得したい場面に強みがあります

  • リスト型

    例:["アリス", "ボブ", "チャーリー"]

    順序を守った処理や一括操作に向いており、待ち行列や履歴リストなど順序性が重要な場面で使います。

  • 辞書型

    例:{"name": "アリス", "age": 25}

    順序ではなくキーでデータを管理・識別し、ユーザー情報や設定データのように特定の要素を高速に探す場面に適しています。

Python初心者の方は、「順番が重要か、それともキーで管理したいかを基準に、リストと辞書を使い分けるのがおすすめです

Pythonのリストについては以下の記事で詳しく解説しています。初心者の方にも理解しやすい図解付きで、リスト(list型)の基本操作、使い方、注意点をまとめていますので、ぜひご覧ください。

【初心者入門】Python list(配列)の基本操作について

https://envader.plus/article/18

リストと辞書の違いがわかったところで、次のセクションでは辞書の基本的な作成方法について紹介します。

Pythonの辞書の作り方

Pythonの辞書の作成方法には、空の辞書を定義する方法と、初期値を持った辞書を定義する方法の2種類があり、用途に応じて使い分けます。

空の辞書を作成

空の辞書を作るには、波かっこ {} または dict() 関数を使います。

これは「まず入れ物を用意し、後から必要なキーと値を追加する」という基本パターンで、実務でも頻繁に使います。

# 空の辞書を作成(波かっこを使う)
my_dict = {}

# 値を追加
my_dict['name'] = 'アリス'
my_dict['age'] = 25

print(my_dict)
# 出力結果: {'name': 'アリス', 'age': 25}
# 空の辞書を作成(dict() を使う)
my_dict = dict()

# 値を追加
my_dict['name'] = 'アリス'
my_dict['age'] = 25

print(my_dict)
# 出力結果: {'name': 'アリス', 'age': 25}

初期値付き辞書を作成

初めから値を設定しておきたい場合は、キーと値のペアを {} 内にまとめて記述します。

こちらはシンプルで、初心者が最初に覚えておきたい基本形です。

user_info = {
    "name": "アリス",
    "age": 25
}

Pythonでは、これらの方法を場面に応じて柔軟に使い分けることができます。

次のセクションでは、作成した辞書をどう活用するか、値の参照・追加・更新・削除といった基本操作を詳しく解説していきます。

Pythonの辞書の基本操作

辞書の基本的な操作には、値の参照・追加・更新・削除があります。いずれも直感的な構文で書けるため、はじめての方でもすぐに扱えるようになります。

辞書の値を参照する

辞書の内容を参照する場合、辞書名を指定すれば全体が表示され、特定の値を参照したいときはキーを指定します。

user_info = {
    "name": "アリス",
    "age": 25
}

# 辞書名を指定
print(user_info)
# 出力結果:{'name': 'アリス', 'age': 25}

# キーを指定
print(user_info["name"])
# 出力結果:アリス

辞書の要素を追加する

辞書に新しい項目を追加するには、新しいキーに対して値を代入します。すでに存在するキーであれば、値が上書きされます。

user_info = {
    "name": "アリス",
    "age": 25
}

user_info["email"] = "alice@sample-sample.com" # 新しい項目を追加

print(user_info)
# 出力結果:{'name': 'アリス', 'age': 25, 'email': 'alice@sample-sample.com'}

辞書の値を更新する

既存の値を変更したいときは、該当するキーに新しい値を代入するだけで更新ができます。

user_info = {
    "name": "アリス",
    "age": 25
}

user_info["age"] = 26  # 年齢を更新

# 年齢の値を参照
print(user_info["age"])
# 出力結果:26

辞書の要素を削除する

不要になったキーと値のペアを削除するには、del 文を使います。

user_info = {
    "name": "アリス",
    "age": 25,
    "email": "alice@sample-sample.com"
}

del user_info["email"]  # 指定したキーを削除
print(user_info)

# 出力結果:{'name': 'アリス', 'age': 25}

ここまでで、Pythonの辞書の基本操作である「値の参照、追加、更新、削除」を一通り学びました。このうち特に「値の参照」では、存在しないキーを指定するとエラー(KeyError)が発生する点に注意が必要です。

次のセクションでは、この KeyError を防ぐための2つの簡単な方法を紹介します。

PythonでKeyErrorを防ぐ2つの簡単な方法

Pythonの辞書では、存在しないキーを指定して値を取り出そうとすると KeyError というエラーが発生します。

これは、辞書が「存在するキーに対してのみ値を返す」というルールを持っているためです。たとえば、次のようなコードでは存在しないキー phone を指定したことでエラーになります。

user_info = {"name": "アリス"}
print(user_info["phone"])

# 出力結果:
KeyError: 'phone'

初心者がよくつまずくこの KeyError は、キーの事前の確認や安全な取り出し方を覚えることで簡単に防げます。ここでは、すぐに使える2つの基本的な方法を紹介します。

1. in 演算子でキーの存在を確認する

まずは、指定するキーが辞書内に存在するかを in 演算子で確認する方法です。

user_info = {"name": "アリス"}

if "phone" in user_info:
    print(user_info["phone"])
else:
    print("未登録")
# 出力結果:未登録

シンプルでわかりやすく、小規模な辞書では特に有効です。

2. get() メソッドで安全に値を取得する

get() メソッドを使うと、キーが存在しない場合でもエラーを出さず、指定したデフォルト値を返せます。

user_info = {"name": "アリス"}

print(user_info.get("phone", "未登録"))
# 出力結果:未登録

こちらは in 演算子よりもコードが短く、初心者にとって非常に実用的です。

辞書操作の基本は「存在しないキーを指定しないこと」です。特に初心者のうちは、in 演算子や get() メソッドを使えるようになると、辞書の操作が安全で効率的になります。

次のセクションでは、Pythonの辞書を正しく理解するために欠かせない特徴やルールを詳しく解説していきます。

Python辞書のキーのルール

Pythonの辞書は便利なデータ構造ですが、守るべきルールを知らないとエラーを引き起こすことがあります

特にキーの扱いに関するルールは初心者がつまずきやすいため、ここでしっかり確認しておきましょう。

辞書のキーは一意にする必要がある

辞書では同じキーを複数指定できず、後から指定した値が前の値を上書きします。

data = {"id": 1, "id": 2}
print(data)
# 出力結果:{'id': 2}

このため、キーは必ず一意(ユニーク)でなければなりません。

辞書のキーはイミュータブルにする必要がある

キーに使えるのは、数値、文字列、タプルなどのイミュータブル変更不可な型です

リストや他の辞書のようなミュータブル(変更可能)な型をキーに使うとエラーになります。

# OK:タプルは使える
data = {(1, 2): "value"}

# NG:リストはエラー
data = {[1, 2]: "value"}  # TypeError発生

これらの基本ルールを理解しておくことで、辞書を安全かつ確実に扱えるようになります。

次のセクションでは、辞書の操作をさらに効率化するための、初心者向けの便利なメソッドを厳選して紹介します。実務や学習にすぐ役立つ内容なので、ぜひチェックしてください。

辞書をもっと便利に!初心者向けメソッド7選

Pythonの「メソッド」とは、特定のデータ型(例:辞書、リスト)が持つ専用の操作機能のことです。 これらを知っておくと、辞書の操作が簡単かつ効率的になります。ここでは、初心者がぜひ覚えておきたい、メソッドを7つ厳選して紹介します。どれも実務や学習ですぐに役立つものなので、ぜひ試しながら使い方を身につけましょう。

1. items()

items() は、辞書内のキーと値のペアをタプル形式でまとめて取り出します。辞書全体をループ処理したいときや、キーと値を同時に操作したいときに便利です。

user_info = {
    "name": "アリス",
    "age": 25
}

for key, value in user_info.items():
    print(f"{key}: {value}")
# 出力結果:
# name: アリス
# age: 25

2. keys()

keys() は、辞書内の全てのキーを取り出します。キーの一覧確認や、特定のキーが存在するかチェックしたいときに役立ちます。

user_info = {
    "name": "アリス",
    "age": 25
}

for key in user_info.keys():
    print(key)
# 出力結果:
# name
# age

3. values()

values() は、辞書内の全ての値を取り出します。値の一覧を表示したり、値だけをまとめて集計・分析したいときに使います。

user_info = {
    "name": "アリス",
    "age": 25
}

for value in user_info.values():
    print(value)
# 出力結果:
# アリス
# 25

4. update()

update() は、他の辞書やキー・値のペアをまとめて追加・更新できます。既存のキーがあれば値を上書きし、なければ新規追加されます。

user_info = {
    "name": "アリス",
    "age": 25
}

user_info.update({"email": "alice@example.com"})
print(user_info)
# 出力結果:
# {'name': 'アリス', 'age': 25, 'email': 'alice@example.com'}

5. pop()

pop() は、指定したキーの値を取り出し、そのキーと値を辞書から削除します。削除後の値を使いたい場合に便利です。

user_info = {
    "name": "アリス",
    "age": 25
}

removed_age = user_info.pop("age")
print(removed_age)
# 出力結果:25

print(user_info)
# 出力結果:
# {'name': 'アリス'}

6. setdefault()

setdefault() は、指定したキーが存在しない場合に初期値を設定し、その値を返します。キーがすでに存在する場合は、既存の値を返します。

user_info = {
    "name": "アリス",
    "age": 25
}

count = user_info.setdefault("count", 0)
print(count)
# 出力結果:0

print(user_info)
# 出力結果:
# {'name': 'アリス', 'age': 25, 'count': 0}

7. clear()

clear() は、辞書内の全ての要素を一気に削除し、空の辞書にします。すべてのデータをリセットしたいときに使います。

user_info = {
    "name": "アリス",
    "age": 25
}

user_info.clear()
print(user_info)
# 出力結果:{}

ここまで、初心者がぜひ覚えておきたいPythonの辞書メソッドを7つ紹介しました。

Pythonには、今回紹介した以外にも多くの便利なメソッドが用意されています。まずはここで紹介した内容をマスターし、自信がついたら次のステップとして、ぜひ他のメソッドや応用的な使い方にも挑戦してみてください。

この記事で学んだこと

この記事では、Python初心者向けに辞書型(dict )の以下の基本内容をわかりやすく解説してきました。

  • 辞書とは何か、リストとの違い
  • 辞書の作り方、基本操作(参照・追加・更新・削除)
  • よくあるエラー(KeyError)の防ぎ方
  • 辞書の特徴とルール
  • 便利な初心者向けメソッド7選

Pythonの辞書は、データ管理に欠かせない重要な要素です。今回学んだ知識をぜひ実践の中で試し、繰り返し使いながら理解を深めていってください。本記事が、初心者の方のPythonスキル向上の一助となれば幸いです。

参考資料

以下のリンクは、この記事で解説した手順や概念に関連する参考資料です。より詳しく学びたい方は、ぜひご覧ください。

【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

IT未経験者必見 USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話

プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。

「フリーランスエンジニア」

近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。

「成功する人とそうでない人の違いは何か?」

私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。

比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。

多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、

note記事3000いいね超えの殿堂記事 LINE登録で記事を読む

エンベーダー編集部

エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。

RareTECH 無料体験授業開催中! オンラインにて実施中! Top10%のエンジニアになる秘訣を伝授します! RareTECH講師への質疑応答可

関連記事

2024.04.14

仮想環境とパッケージ管理をまとめて解決! pipenvの基本

チームメンバーと開発環境を共有しようとしたら、環境の不一致でトラブルになったことはありませんか?Pipenvは、Python開発の効率を大幅に高めるためのツールです。仮想環境の作成とパッケージ管理を一元化することで、プロジェクトの依存関係を明確かつ簡単に管理できるようになります。

  • Python

2025.03.12

【初心者向け】Anacondaで始めるPython完全ガイド

Anacondaを使用すれば、Pythonでデータ分析・機械学習に必要なツールをまとめてインストールすることが可能です。本記事では、Anacondaの概要から使うことのメリットやインストール方法、そしてJupyter Notebookを使用した簡単なコード記述までを分かりやすく解説します。

  • Python

2025.01.31

【超初心者向け】DX×Pythonで業務改善、できること3選!

DXの柱である「データ活用」や「業務自動化」を始める上で、初心者でも扱いやすいプログラミング言語「Python」は、非常に頼もしいツールです。本記事では、DX推進の第一歩として、Pythonの魅力と実用例を3つに絞ってわかりやすく解説します。

  • Python

2025.01.30

【poetry入門】インストールからPythonのパッケージ管理方法

Poetry はパッケージマネージャーと仮想環境の両方の機能を兼ね備えたサードパーティ製のツールです。パッケージのインストールとアップデート、アンインストール、プロジェクトごとの環境構築を一つのツールで行うことができます。

  • Python