Pythonの辞書:キーと値のペアでデータを管理する

リストに続いて学んだのが「辞書(dictionary)」です。リストは順番でデータを管理しますが、辞書は「キーと値のペア」でデータを管理します。これにより、より意味のあるデータ構造を作ることができます。

辞書とは

辞書は、キー(key)と値(value)のペアでデータを格納するデータ型です。

# 辞書の作成
person = {"name": "太郎", "age": 25, "city": "Tokyo"}

波括弧 {} で囲み、キー: 値 の形式で要素を定義します。

辞書の基本構文

構文: {キー1: 値1, キー2: 値2, ...}

# 商品情報を辞書で管理
product = {
    "name": "ノートPC",
    "price": 120000,
    "stock": 5
}

# 値の取り出し
print(product["name"])   # ノートPC
print(product["price"])  # 120000

キーを指定することで、対応する値を取り出せます。

辞書の値は変更可能

リストと同様に、辞書の値も後から変更できます。

product = {"name": "ノートPC", "price": 120000, "stock": 5}

# 在庫数を変更
product["stock"] = 3

print(product["stock"])  # 3

キーを指定して新しい値を代入するだけで、簡単に変更できます。

辞書に新しい要素を追加

辞書には、新しいキーと値のペアを追加することもできます。

product = {"name": "ノートPC", "price": 120000}

# 新しい要素を追加
product["stock"] = 10
product["color"] = "silver"

print(product)
# {'name': 'ノートPC', 'price': 120000, 'stock': 10, 'color': 'silver'}

存在しないキーに値を代入すると、自動的に新しい要素として追加されます。

リストと辞書の使い分け

リスト

  • 順番が重要な場合
  • 同じ種類のデータをまとめる
  • 例: 成績リスト、商品リスト

辞書

  • データに意味を持たせたい場合
  • 異なる種類のデータをまとめる
  • 例: ユーザー情報、設定データ

疑問:キーは変更できる?

今回学んでいて疑問に思ったのが、「辞書の値は変更できるけど、キーのみを変更することはできるのか?」 という点です。

結論から言うと、キーを直接変更することはできません

もしキーを変更したい場合は:

  1. 新しいキーで値を追加
  2. 古いキーを削除

という手順を踏む必要があります。

# キーを変更したい場合の方法
product = {"name": "ノートPC", "price": 120000}

# 新しいキーで追加
product["product_name"] = product["name"]

# 古いキーを削除
del product["name"]

print(product)  # {'price': 120000, 'product_name': 'ノートPC'}

これは辞書の仕様によるもので、キーは「固定された識別子」として扱われるためです。

今日の学びのポイント

  • 辞書は {キー: 値} の形式でデータを管理
  • キーを指定して値を取り出す
  • 値は後から変更・追加が可能
  • キーの直接変更はできない(新規追加+削除が必要)

辞書は、リストよりも意味のあるデータ構造を作れるため、実務でも非常によく使われます。次は、これらのデータ構造を使って繰り返し処理を学んでいきます。


コメント