
在本文中,你将学习如何使用以下方法合并两个词典:
- 方法。
update()
- 双星号/星号运算符 ()。
**
- 方法。
chain()
- 方法。
ChainMap()
- 合并运算符 ()。
|
- 更新运算符 ()。
|=
如何在 Python 中合并两个字典
在本节中,我们将讨论可用于在 Python 中合并字典的不同方法,以及代码示例。
您将在本文中看到的所有示例都将涉及两个字典的合并,但您可以根据需要合并任意数量的字典。
如何使用该方法在 Python 中合并两个字典update()
该方法是一种内置方法,可用于将数据添加到字典。update()
请看下面的字典:
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
devBio.update({"role": "Technical Writer"})
print(devBio)
# {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'role': 'Technical Writer'}
在上面的代码中,我们创建了一个字典,该字典由三个键和值对组成。devBio
{'name': 'Ihechikara', 'age': 50, 'language': 'Python'}
使用该方法,我们添加了另一个键和值对:。update()
devBio.update({"role": "Technical Writer"})
以同样的方式,我们可以通过将另一个字典作为参数传递给方法来合并两个字典。下面是一个示例:update()
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
tools = {
"dev environment": "JupyterLab",
"os": "Windows",
"visualization": "Matplotlib"
}
devBio.update(tools)
print(devBio)
# {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
在上面的代码中,我们创建了两个字典 — 和 .devBio
tools
使用该方法,我们将字典的键和值对合并到字典中:。update()
tools
devBio
devBio.update(tools)
合并后的词典如下所示:
{
'name': 'Ihechikara',
'age': 500,
'language': 'Python',
'dev environment': 'JupyterLab',
'os': 'Windows',
'visualization': 'Matplotlib'
}
如何使用双星号运算符在 Python 中合并两个字典 (**
)
您可以使用双星号(也称为双星号)运算符 () 来“解压缩”两个或多个字典的键和值对并将其合并到一个变量中。**
下面是一个代码示例:
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
tools = {
"dev environment": "JupyterLab",
"os": "Windows",
"visualization": "Matplotlib"
}
merged_bio = { **devBio, **tools}
print(merged_bio)
# {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
在上面的代码中,我们使用双星号运算符解压缩了 和 字典: .devBio
tools
{ **devBio, **tools}
然后,我们将它们存储在一个名为 的变量中。merged_bio
如何使用该方法在 Python 中合并两个字典chain()
该方法将多个可迭代对象作为其参数。它将对象合并并作为一个可迭代对象返回。chain()
在使用方法之前,必须从模块中导入该方法:chain()
itertools
from itertools import chain
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
tools = {
"dev environment": "JupyterLab",
"os": "Windows",
"visualization": "Matplotlib"
}
merged_bio = dict(chain(devBio.items(), tools.items()))
print(merged_bio)
# {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
在上面的代码中,我们将要合并的字典作为参数传递给方法: 。chain()
chain(devBio.items(), tools.items())
我们使用该方法来访问每个字典的键和值对。items()
最后,我们将该方法及其参数嵌套在方法中: 。chain()
dict()
dict(chain(devBio.items(), tools.items()))
该方法可用于创建字典,因此我们使用它将返回的可迭代对象(键和值对)转换为字典,并将它们存储在变量中。dict()
merged_bio
如何使用该方法在 Python 中合并两个字典ChainMap()
该方法的工作方式与合并词典的方法相同。主要区别在于,您不需要该方法来访问字典的键和值对。ChainMap()
chain()
items()
您可以从模块导入该方法。ChainMap()
collections
以下是使用该方法合并两个词典的方法:ChainMap()
from collections import ChainMap
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
tools = {
"dev environment": "JupyterLab",
"os": "Windows",
"visualization": "Matplotlib"
}
merged_bio = dict(ChainMap(devBio, tools))
print(merged_bio)
# {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
您可以查看上一节中的说明,以了解上面代码中的逻辑。
如何使用 Merge 运算符在 Python 中合并两个字典 (|
)
merge 运算符 () 最初是在 Python 3.9 中引入的。这是一种更短、更简单的语法,可用于合并词典。|
下面是一个示例:
from collections import ChainMap
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
tools = {
"dev environment": "JupyterLab",
"os": "Windows",
"visualization": "Matplotlib"
}
merged_bio = devBio | tools
print(merged_bio)
# {'name': 'Ihechikara', 'age': 500, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
因此,为了合并 and 字典,我们将运算符放在它们之间:.devBio
tools
|
devBio | tools
如何使用 update 运算符 (|=
)
update 运算符 () 运算符是 Python 3.9 中引入的另一个运算符。|=
它的工作原理与方法一样。那是:update()
from collections import ChainMap
devBio = {
"name": "Ihechikara",
"age": 500,
"language": "Python"
}
tools = {
"dev environment": "JupyterLab",
"os": "Windows",
"visualization": "Matplotlib"
}
devBio |= tools
print(devBio)
# {'name': 'Ihechikara', 'age': 50, 'language': 'Python', 'dev environment': 'JupyterLab', 'os': 'Windows', 'visualization': 'Matplotlib'}
在上面的代码中,我们使用 将字典中的键和值对合并到字典中。|=
tools
devBio
总结
在这篇文章中,我们讨论了Python中的字典。您可以使用它们将数据存储在键值对中。
我们看到了如何在 Python 中使用以下方法合并两个字典:
- 方法。
update()
- 双星号/星号运算符 ()。
**
- 方法。
chain()
- 方法。
ChainMap()
- 合并运算符 ()。
|
- 更新运算符 ()。
|=
每个方法都有自己的部分,其中包含代码示例,这些代码示例演示了如何使用它们来合并字典。
祝您编码愉快!