在 Python 中將字典新增到字典
Hemank Mehtani
2023年10月10日
-
在 Python 中使用
update()
方法將字典新增到另一個字典 -
在 Python 中使用字典解包運算子
**
將字典新增到另一個字典 -
在 Python 中使用
|
運算子將字典新增到另一個字典 -
在 Python 中使用
collections.ChainMap
容器將字典新增到另一個字典
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()
方法連線了字典 D1
和 D2
。
請注意,在此方法中,第一個字典會使用第二個字典的值進行更新。在我們的示例中,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 及更高版本。