辞書: キーと値のマッピング
O(1) でアクセス。設定、API レスポンス、構造化データに。
辞書
キーと値のペアを持つコレクション。
キー
値を取得するための識別子。
get
キーがなくてもエラーにならないアクセス方法。
辞書基礎
リストが「0, 1, 2...」という自動的な番号で管理するのに対し、辞書は「好きな名前(文字列など)」をラベルとして使えます。ユーザー情報(名前、年齢、メール)や設定ファイルなど、構造化されたデータを扱うのに最適です。
user = { "name": "Alice", "age": 30, "email": "alice@example.com"}
# アクセスuser["name"] # 'Alice'user.get("name") # 'Alice' (キーがなくても安全)user.get("phone", "N/A") # デフォルト値
# 変更user["age"] = 31 # 更新user["address"] = "Tokyo" # 追加del user["email"] # 削除Bad
# ❌ Bad: キーの存在チェックが冗長if "name" in user: name = user["name"]else: name = "Unknown"Good
# ✅ Good: get でスッキリname = user.get("name", "Unknown")便利なメソッド
person = {"name": "Bob", "age": 25}
# キー・値・ペアの取得person.keys() # dict_keys(['name', 'age'])person.values() # dict_values(['Bob', 25])person.items() # dict_items([('name', 'Bob'), ('age', 25)])
# 辞書内包表記squares = {x: x**2 for x in range(5)}# {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
# マージ (Python 3.9+)merged = {"a": 1} | {"b": 2} # {'a': 1, 'b': 2}合格ライン
.get() を使える
辞書内包表記を書ける
演習課題
課題1: 辞書操作
get() と setdefault() を使って辞書を操作してください。
課題2: 辞書内包表記
辞書内包表記でキーと値を変換してください。