在 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

請注意,在此方法中,第一個字典會使用第二個字典的值進行更新。在我們的示例中,D1 已更新。

在 Python 中使用字典解包運算子**將字典新增到另一個字典

我們可以在 Python 中新增兩個字典,並使用字典解包運算子 ** 將它們的組合儲存在第三個字典中。此方法不會更改原始字典的鍵值對。

此運算子適用於 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 和第二個字典 D2 新增到單獨的第三個字典 D3 中。

在 Python 中使用|運算子將字典新增到另一個字典

我們可以在 Python 的最新更新(Python 3.9)中使用這個運算子。合併兩個字典是一種簡單方便的方法。

在下面的程式碼片段中,我們使用|運算子。

# >= 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 用於將多個字典對映到一個單元中。我們必須從集合模組中匯入它。

我們使用 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