Python初心者向け!辞書(dictionary)の基本と活用テクニックを徹底解説

Pythonでデータを扱う際によく登場するのが「辞書(dictionary)」です。辞書は「キー」と「値」のペアを使ってデータを整理できる便利なデータ型で、リストやタプルと並んで基本中の基本といえる存在です。本記事では、Python初心者の方に向けて、辞書の基本的な使い方から、実践的な活用方法、便利なメソッドまでを丁寧に解説していきます。Pythonの基礎力をしっかり固めたい方は、ぜひ最後までご覧ください。


辞書(dictionary)とは?基本の構造を理解しよう

Pythonにおける辞書は、「キー(key)」と「値(value)」をセットにして管理するデータ型です。キーは文字列だけでなく、数値やタプルなども使えます。基本の構文は以下の通りです。

person = {"name": "田中", "age": 30, "city": "東京"}

この例では、「name」「age」「city」がキーで、それぞれの値は「田中」「30」「東京」です。

辞書は中括弧 {} を使って定義し、キーと値の間をコロン : でつなぎます。複数の要素がある場合は、カンマ , で区切ります。


辞書の基本操作:値の取得と更新

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

print(person["name"])  # 出力: 田中

値を変更するのも簡単です。

person["age"] = 31

存在しないキーを指定するとエラーになりますが、安全に値を取得するには get() メソッドを使うと便利です。

print(person.get("gender", "不明"))  # 出力: 不明

要素の追加と削除

辞書に新しいキーと値を追加するには、次のように記述します。

pythonコピーする編集するperson["job"] = "エンジニア"

要素を削除するには del を使います。

del person["city"]

または pop() メソッドも使えます。

age = person.pop("age")
print(age) # 出力: 31

辞書のループ処理

辞書をループして処理するには、items()keys()values() などのメソッドを使います。

for key, value in person.items():
print(f"{key} は {value} です")

出力例:

name は 田中 です
job は エンジニア です

辞書の便利なメソッド

辞書には便利なメソッドが多く用意されています。一部を紹介します。

  • keys():全てのキーを取得
  • values():全ての値を取得
  • items():キーと値のペアをタプルで取得
  • update():他の辞書と合体
other = {"name": "山田", "age": 28}
person.update(other)

ネストされた辞書の使い方

辞書の中に辞書を持つことも可能です。例えば、複数の人の情報をまとめる場合に使います。

people = {
"user1": {"name": "佐藤", "age": 25},
"user2": {"name": "鈴木", "age": 32}
}

アクセスするには、キーを2段階で指定します。

print(people["user1"]["name"])  # 出力: 佐藤

実用例:辞書でデータを集計する

辞書はデータの集計にもよく使われます。以下は、リスト内の文字列の出現回数をカウントする例です。

colors = ["赤", "青", "赤", "緑", "青", "赤"]
count = {}

for color in colors:
count[color] = count.get(color, 0) + 1

print(count) # 出力: {'赤': 3, '青': 2, '緑': 1}

このように get() を活用すると、簡潔でエラーのないコードになります。


defaultdict を使ってもっと便利に

標準ライブラリ collections の中には、辞書をさらに便利にする defaultdict があります。キーが存在しない場合に、自動で初期値を設定してくれる機能です。

from collections import defaultdict

count = defaultdict(int)
for color in colors:
count[color] += 1

print(dict(count)) # 出力: {'赤': 3, '青': 2, '緑': 1}

辞書型とJSONの関係

辞書はJSONデータとの互換性が高いため、API通信や設定ファイルの扱いにも使えます。

import json

data = {"name": "田中", "age": 30}
json_data = json.dumps(data, ensure_ascii=False)
print(json_data) # 出力: {"name": "田中", "age": 30}

parsed = json.loads(json_data)
print(parsed["name"]) # 出力: 田中

dumps() で辞書をJSON形式に変換し、loads() で再び辞書として読み込みます。


まとめ:辞書の力を使いこなそう

辞書はPythonにおける非常に重要なデータ型です。リストとは異なり、名前(キー)で値にアクセスできるため、データの構造化や柔軟な操作が可能になります。初心者のうちは慣れないかもしれませんが、繰り返し使うことで理解が深まり、より高度なPythonプログラムの土台となります。まずはこの記事で紹介した操作から、ぜひ手を動かして試してみてください。

タイトルとURLをコピーしました