Python: ディクショナリ(辞書)の要素の値を変更する

Pythonでディクショナリの要素の値を変更する場合、 ブラケット[]を使う方法とdictオブジェクトのupdate()メソッドを使う方法があります。 2つの方法を順番に解説します。

ブラケット[]で変更する

ブラケット[]を使う場合は次のように[]内でキーを指定して変更後の値を代入します。

ディクショナリ名[キー] = 変更後の値

次のコードではキーが "a" の要素の値を「10」から「40」に変更しています。

d = {"a": 10, "b": 20, "c": 30}

# 値を変更
d["a"] = 40

print(d) # {'a': 40, 'b': 20, 'c': 30}

もし指定したキーが存在しなかった場合は、 新しく要素が追加されます。

update()メソッドで変更する

dictオブジェクトのupdate()メソッドを使って要素値を更新することもできます。

書式
ディクショナリ名.update(ディクショナリ)

ディクショナリ名.update(キー=値, キー=値, ...)

update()メソッドは本来ディクショナリを結合するためのメソッドですが、 キーが存在する場合は要素値の変更になります。
引数はディクショナリか「キー=値」の形式を指定します。

次のサンプルコードではキーが "a" の要素の値を「10」から「40」に変更しています。
update()の引数に「キー=値」の形式で指定しています。

d = {"a": 10, "b": 20, "c": 30}

d.update(a=40)

print(d) # {'a': 40, 'b': 20, 'c': 30}

update()の引数にディクショナリを指定する場合のコード例です。

d = {"a": 10, "b": 20, "c": 30}

d2 = {"a": 40}

d.update(d2)

print(d) # {'a': 40, 'b': 20, 'c': 30}

update()の場合も、キーが存在しない場合は新しい要素の追加になります。

Python