Python の辞書に辞書を追加する

Hemank Mehtani 2023年10月10日
  1. Python で update() メソッドを使用して辞書を別の辞書に追加する
  2. Python で辞書アンパック演算子**を使用して辞書を別の辞書に追加する
  3. Python で|演算子を使用して辞書を別の辞書に追加する
  4. Python で collections.ChainMap コンテナを使用して辞書を別の辞書に追加する
Python の辞書に辞書を追加する

Python の辞書は、キーと値のペアの形式で要素のグループを構成します。これは、順序付けられていない変更可能なコレクションです。

このチュートリアルでは、Python で辞書を別の辞書に追加するさまざまな方法について説明します。

Python で update() メソッドを使用して辞書を別の辞書に追加する

update() メソッドは、ある辞書を別の辞書に連結します。この方法を使用すると、一方の辞書のキーと値のペアをもう一方の辞書に挿入できます。

例えば、

D1 = {"loginID": "xyz", "country": "USA"}
D2 = {"firstname": "justin", "lastname": "lambert"}
D1.update(D2)
print(D1)

出力:

{'loginID': 'xyz', 'country': 'USA', 'firstname': 'justin', 'lastname': 'lambert'}

上記のコードでは、update() メソッドを使用して辞書 D1D2 を連結しています。

このメソッドでは、最初のディクショナリが 2 番目のディクショナリの値で更新されることに注意してください。この例では、D1 が更新されました。

Python で辞書アンパック演算子**を使用して辞書を別の辞書に追加する

Python で 2つの辞書を追加し、辞書の解凍演算子**を使用してそれらの組み合わせを 3 番目の辞書に格納できます。このメソッドは、元の辞書のキーと値のペアを変更しません。

この演算子は Python 3.5 から機能します。

例えば、

def merge(D1, D2):
    py = {**D1, **D2}
    return py


D1 = {"loginID": "xyz", "country": "USA"}
D2 = {"firstname": "justin", "lastname": "lambert"}
D3 = merge(D1, D2)
print(D3)

出力:

{'loginID': 'xyz', 'country': 'USA', 'firstname': 'justin', 'lastname': 'lambert'}

上記のコードでは、Python で**を使用して、最初の辞書 D1 と 2 番目の辞書 D2 を別の 3 番目の辞書 D3 に追加しました。

Python で|演算子を使用して辞書を別の辞書に追加する

この演算子は、Python の最新アップデート(Python 3.9)で使用できます。これは、2つの辞書をマージするための簡単で便利な方法です。

次のコードスニペットでは、|を使用していますオペレーター。

# >= Python 3.9

def Merge(D1, D2):
    py = D1 | D2
    return py


D1 = {"RollNo": "10", "Age": "18"}
D2 = {"Marks": "90", "Grade": "A"}
D3 = Merge(D1, D2)
print(D3)

出力:

{'RollNo': '10', 'Age':'18' ,'Marks': '90', 'Grade': 'A'}

Python で collections.ChainMap コンテナを使用して辞書を別の辞書に追加する

ChainMap は、多くの辞書を 1つのユニットにマッピングするために使用されます。コレクションモジュールからインポートする必要があります。

ChainMap() コンストラクターを使用して、ChainMap コンテナーを作成し、結合する辞書を引数のセットとして渡します。

次のコードを参照してください。

from collections import ChainMap

D1 = {"w": 1, "x": 2}
D2 = {"y": 3, "z": 4}
D3 = ChainMap(D1, D2)
D3 = {k: v for d in (D1, D2) for (k, v) in d.items()}
print(D3)

出力:

{'w': 1, 'x': 2, 'y': 3, 'z': 4}

このメソッドは Python 2.7 以降で機能します。

関連記事 - Python Dictionary