Python辞書の要素を追加・更新する方法:キー指定による代入操作

Pythonの辞書(dict)は「ミュータブル(変更可能)」なオブジェクトです。そのため、作成した後でも新しいキーと値のペアを追加したり、既存のキーに対応する値を変更したりすることができます。

興味深い点として、Pythonでは「新しい要素の追加」と「既存要素の更新」に、全く同じ構文を使用します。

この記事では、辞書に対するデータの追加と更新の挙動について解説します。

目次

基本構文

辞書への書き込み操作は、以下の構文を使用します。

辞書変数[キー] = 設定したい値

この構文を実行した際、Pythonインタプリタは以下のように判断して処理を行います。

  1. キーが存在しない場合: 新しいキーと値のペアとして追加します。
  2. キーが既に存在する場合: そのキーに対応する値を新しい値で**上書き(更新)**します。

1. 新しい要素の追加

辞書に存在しないキーを指定して値を代入すると、そのペアが辞書に追加されます。

例として、果物の在庫管理データを扱います。

# 初期の在庫データ
fruit_stock = {
    "apple": 50,
    "orange": 30
}

print(f"追加前: {fruit_stock}")

# 新しい商品 "banana" (在庫 20) を追加
# "banana" というキーはまだ存在しないため、新規追加となる
fruit_stock["banana"] = 20

print(f"追加後: {fruit_stock}")

実行結果:

追加前: {'apple': 50, 'orange': 30}
追加後: {'apple': 50, 'orange': 30, 'banana': 20}

"banana" という新しいキーと、その値 20 が辞書に格納されました。

2. 既存の要素の更新(上書き)

辞書に既に存在するキーを指定して値を代入すると、元の値が消去され、新しい値に置き換わります。

# 現在の在庫データ
# {'apple': 50, 'orange': 30, 'banana': 20}

# "apple" の在庫数を 50 から 45 に変更
# "apple" というキーは既に存在するため、更新となる
fruit_stock["apple"] = 45

print(f"更新後: {fruit_stock}")

実行結果:

更新後: {'apple': 45, 'orange': 30, 'banana': 20}

"apple" の値が 50 から 45 に変更されました。

応用:値の演算による更新

現在の値を元に計算を行い、その結果で更新することも頻繁に行われます。この場合、複合代入演算子(+=, -= など)が使用できます。

# "orange" の在庫が 10 個売れた(減らす)場合
fruit_stock["orange"] -= 10  # fruit_stock["orange"] = fruit_stock["orange"] - 10 と同じ

print(f"演算更新後: {fruit_stock}")

実行結果:

演算更新後: {'apple': 45, 'orange': 20, 'banana': 20}

まとめ

  • 辞書の要素操作は 辞書[キー] = 値 という統一された構文で行います。
  • 指定したキーがなければ追加あれば更新(上書き)されます。
  • 意図せず既存のデータを上書きしないよう、キーの存在には注意が必要です(必要であれば in 演算子で確認します)。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次