Pythonにおける辞書型(dict)の基本操作と活用方法

Pythonの辞書型(dict)は、キーと値をペアで保持する可変長のマッピング型データ構造です。キーは一意である必要があり、効率的なデータ検索や管理に適しています。

辞書の定義

辞書は波括弧 {} を使用して定義します。キーと値はコロン : で区切り、ペアをコンマ , で並べます。キーが重複した場合、後から定義された値で上書きされます。

# 辞書の作成例
user_info = {"name": "Taro", "gender": "male", "age": 25}
empty_dict = {}

# 重複キーの上書き動作
data = {"a": 1, "b": 2, "a": 3}
print(data)  # {'a': 3, 'b': 2}

値の取得方法

特定のキーに対応する値を取得するには、主に以下の手法を用います。

  • 直接アクセス: dict[key] で取得しますが、キーが存在しない場合は KeyError が発生します。
  • getメソッド: dict.get(key, default) を使うと、キーがない場合に例外を出さず、指定したデフォルト値(または None)を返します。
  • setdefaultメソッド: dict.setdefault(key, value) は、キーが存在すればその値を返し、存在しなければ新しいキーと値を辞書に追加します。
user = {"name": "Taro", "age": 25}

print(user["name"])                # Taro
print(user.get("email", "N/A"))    # N/A
user.setdefault("status", "active")
print(user)                        # {'name': 'Taro', 'age': 25, 'status': 'active'}

値の更新

既存の値を変更または追加するには、直接代入するか update() を利用します。

user = {"name": "Taro", "age": 25}

# 直接代入
user["age"] = 26

# updateメソッドによる一括更新または追加
user.update({"name": "Hanako", "location": "Tokyo"})
# 結果: {'name': 'Hanako', 'age': 26, 'location': 'Tokyo'}

要素の削除

削除には目的に応じたメソッドが用意されています。

  • pop(key): 指定したキーを削除し、その値を返します。
  • popitem(): 最後に挿入されたペアを削除します。
  • clear(): 全ての要素を削除し、空の辞書にします。
user = {"a": 1, "b": 2, "c": 3}
user.pop("b")
user.popitem()
# 結果: {'a': 1}

キー・値・ペアの取得

辞書内のデータを反復処理したりリスト化したりするために、ビューオブジェクトを取得できます。

  • keys(): 全てのキーを取得
  • values(): 全ての値を取得
  • items(): 全てのキーと値のペアを取得
user = {"id": 101, "role": "admin"}

# リスト形式への変換例
keys_list = list(user.keys())
values_list = list(user.values())
pairs_list = list(user.items())

タグ: Python データ構造 辞書

6月12日 18:15 投稿