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()の場合も、キーが存在しない場合は新しい要素の追加になります。