Python辞書:キー/値ペアの追加、更新、管理
Python辞書は、データをキー/値ペアとして格納する基盤的なデータ構造です。キーはイミュータブルで一意、値はネスト構造を含む任意のデータ型を取れます。
辞書キーのルール
- 重複キーは上書きされる:最後の出現が優先される
- 許容キー型:文字列、数値、タプル、その他ハッシュ可能なオブジェクト。リストなどミュータブル型はキーにできない
- Pythonの組み込み関数、クラス、関数自体もキーとして使用可能
辞書への要素追加
新しいキー/値ペアを追加するには、新しいキーに値を代入するだけです:
my_dict = {"username": "XYZ", "email": "xyz@example.com"}
my_dict["location"] = "Mumbai"
print(my_dict)
出力: {"username": "XYZ", "email": "xyz@example.com", "location": "Mumbai"}
値がリストの場合、そのリストにアイテムを追加できます:
my_dict = {"tags": []}
my_dict["tags"].append("python")
print(my_dict)
出力: {"tags": ["python"]}
辞書要素へのアクセス
角括弧でキーを指定して値を取得。キーが存在しない場合KeyErrorが発生:
print(my_dict["username"]) # XYZ print(my_dict["nonexistent"]) # KeyError
エラーを避けるにはdict.get()やdict.setdefault()を使用:
print(my_dict.get("nonexistent", "default"))
要素の削除
- delキーワード:
del my_dict["username"] - pop()メソッド:
removed = my_dict.pop("email")で削除された値を返す - clear()メソッド:
my_dict.clear()で辞書を空にする
既存値の更新
既存キーに新しい値を代入して更新:
my_dict["username"] = "ABC" print(my_dict)
辞書の結合
update()またはPython 3.9+のユニオン演算子(|)で2つの辞書をマージ:
dict_a = {"a": 1, "b": 2}
dict_b = {"b": 3, "c": 4}
dict_a.update(dict_b)
print(dict_a) # {"a": 1, "b": 3, "c": 4}
# または
combined = dict_a | dict_b
print(combined)
辞書のネスト
辞書全体を新しいキーに代入してネスト:
parent = {"username": "XYZ"}
child = {"firstName": "Nick", "lastName": "Price"}
parent["name"] = child
print(parent)
出力: {"username": "XYZ", "name": {"firstName": "Nick", "lastName": "Price"}}
まとめ
- 辞書キーは一意、ハッシュ可能、イミュータブル
- 追加/更新は代入、削除は
delやpop()、空にするのはclear() update()とユニオン演算子で辞書マージが簡単
詳細は公式ドキュメントを参照: Python Data Structures – Dictionaries.
Python
- IoT対応スマートアラートが電気モーターの信頼性をどう変えるか
- Python 変数・定数・リテラル: 包括的ガイド
- Python辞書完全ガイド:作成、操作、高度なテクニック
- Pythonで現在の日付と時刻を取得する実践ガイド
- Python print()関数の実践ガイド:基本から応用まで
- Pythonタプル完全ガイド:パッキング、アンパッキング、比較、スライス、辞書キー活用
- Python演算子完全ガイド:算術、論理、比較、代入、ビットワイズ、優先順位
- Python abs()関数:数値と複素数の絶対値を計算
- Python range()関数をマスター:基礎から応用まで
- Python time.sleep():コードに遅延を追加する方法(例付き)
- Python print()で改行なし出力:endパラメータとその他のテクニック