在 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 及更高版本。