Pythonの辞書を結合(マージ)する方法について書いています。
2つの辞書を結合するには、下記の方法を使うことができます。
載せているコードはPythonのバージョン3.11.0で動作を確認しています。
Pythonの辞書を結合するには?
Pythonの辞書を結合する方法を書いています。
updateメソッドを使う
updateメソッドを使うことで、updateメソッドを呼び出した辞書に辞書を追加することができます。
例えば、下記のように使うことができます。
fruit1 = {'apple': 100, 'banana': 120, 'grape': 300}
fruit2 = {'lemon': 130, 'orange': 150, 'banana': 230}
fruit1.update(fruit2)
最初にfruit1変数に対して、3つのキーと値で辞書オブジェクトを作っています。
次の行でもfruit2変数に対して、同じように辞書オブジェクトを作りました。
fruit1変数からupdateメソッドを呼び出して、fruit2変数を渡しました。
これでfruit1にfruit2が追加されます。
このように結合するのと同じように使うことができます。
fruit1変数が上書きされて、内容が変わるので気を付けましょう。
fruit1を出力すると、下記のように結合されたことが確認できました。
print(fruit1) # {'apple': 100, 'banana': 230, 'grape': 300, 'lemon': 130, 'orange': 150}
banana
のキーが重複していましたが、後の値が優先されてひとつになっています。
「|」演算子を使う
「|
」を使うことでも結合することができます。
例えば、下記のように使うことができます。
fruit1 = {'apple': 100, 'banana': 120, 'grape': 300}
fruit2 = {'lemon': 130, 'orange': 150, 'banana': 230}
fruit3 = fruit1 | fruit2
先ほどと同じ内容の辞書オブジェクトfruit1
とfruit2
を用意しました。
次の行で「|
」を使って、ふたつの辞書を結合して結果を返しています。
返ってきた結合された辞書をfruit3
変数で受け取りました。
実行すると、下記のように結合されたことが確認できました。
print(fruit3) # {'apple': 100, 'banana': 230, 'grape': 300, 'lemon': 130, 'orange': 150}
同じキーは後の値が優先されました。
「|
」を使ったときには、fruit1
変数は更新されないので、辞書の内容はそのまま残ります。
「**」演算子を使う
「**
」を使うことでも結合することができます。
例えば、下記のように使うことができます。
fruit1 = {'apple': 100, 'banana': 120, 'grape': 300}
fruit2 = {'lemon': 130, 'orange': 150, 'banana': 230}
fruit3 = {**fruit1, **fruit2}
先ほどと同じ内容の辞書オブジェクトfruit1
とfruit2
を用意しました。
次の行で「**
」を使っています。
辞書の前に「**
」を使うことで、辞書の内容を展開することができます。
それぞれの辞書の中身を展開して、ひとつの辞書を作っているイメージです。
作った内容をfruit3
変数で受け取りました。
print関数で出力すると、下記のように表示されました。
print(fruit3) # {'apple': 100, 'banana': 230, 'grape': 300, 'lemon': 130, 'orange': 150}
このように、それぞれの変数の内容を「**
」で展開することでも結合できました。
Pythonの辞書を結合する方法まとめ
今回はPythonの辞書に値を追加する方法について書きました。
記事の内容をまとめると、下記のようになります。
・「`|`」を使うことで、2つの辞書を結合できた。
・「`**`」を使うことで、辞書の内容を展開して結合できた。
コメント