Python 辞書にキーを追加および更新する方法

Python 辞書で要素を追加したり、キーと値のペアを更新したりする方法を学びます。角括弧、更新メソッド、結合演算子のオプションを調べます。

エディターでこのソリューションを試してください

概要

ディクショナリ内の要素の追加と更新は、状態管理、データ処理、および構成更新における中心的な概念です。 Python ディクショナリは変更可能なコレクションであるため、構造全体を再作成しなくても、プログラムの実行中にキーと値を動的に簡単に変更できます。

キーと値のペアを追加する最も簡単な方法は、角かっこ割り当て構文 `my_dict[key] = value` を使用することです。キーが存在しない場合、Python はそのキーを辞書に追加します。キーがすでに存在する場合、Python はその古い値を新しい値で上書きします。

一括更新またはマージ操作のために、Python は別の辞書またはキーと値のペアの反復可能値を受け入れる `.update()` メソッドを提供します。さらに、Python 3.9+ では、マージユニオン演算子 `|` を使用して 2 つの辞書を新しい辞書にマージしたり、更新演算子 `|=` を使用して辞書をインプレースで更新したりできます。

コードと実行の出力

このスクリプトは、Python での辞書の追加、更新、および結合を示します。

profile = {"username": "sara", "level": 5}

# 1. Add new key-value pair using brackets
profile["verified"] = True
print("After adding key:", profile)

# 2. Update existing key using brackets
profile["level"] = 6
print("After updating key:", profile)

# 3. Add/Update multiple keys using update()
profile.update({"avatar": "cat.png", "level": 7})
print("After update():", profile)

# 4. Using the merge operator (Python 3.9+)
extra_info = {"location": "US"}
merged_profile = profile | extra_info
print("Merged profile:", merged_profile)
端子出力
After adding key: {'username': 'sara', 'level': 5, 'verified': True}
After updating key: {'username': 'sara', 'level': 6, 'verified': True}
After update(): {'username': 'sara', 'level': 7, 'verified': True, 'avatar': 'cat.png'}
Merged profile: {'username': 'sara', 'level': 7, 'verified': True, 'avatar': 'cat.png', 'location': 'US'}

段階的な実装

  • 括弧表記 my_dict['new_key'] = value を使用して、単一の新しい要素を挿入します。
  • my_dict.update(new_dict) を呼び出して、複数のキーと値をその場でマージします。
  • | を使用します。Python 3.9+ の Union 演算子を使用して、元の辞書を変更せずに辞書を結合します。

よくある質問

すでに存在するキーを追加するとどうなりますか?

そのキーに関連付けられた古い値は、新しい値によって暗黙的に上書きされます。

デフォルトのリスト値を持つキーが存在しない場合、キーを追加できますか?

はい! my_dict.setdefault(key, []) を使用するか、コレクション モジュールの defaultdict を使用して、デフォルト値の初期化を自動化できます。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。