Python 合并词典 – 在 Python 中合并两个字典

Python 合并词典 – 在 Python 中合并两个字典
字典是 Python 中的内置数据结构之一。您可以使用它们将数据存储在键值对中。

在本文中,你将学习如何使用以下方法合并两个词典:

  • 方法。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'}

在上面的代码中,我们创建了两个字典 — 和 .devBiotools

使用该方法,我们将字典的键和值对合并到字典中:。update()toolsdevBiodevBio.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'}

在上面的代码中,我们使用双星号运算符解压缩了 和 字典: .devBiotools{ **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 字典,我们将运算符放在它们之间:.devBiotools|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'}

在上面的代码中,我们使用 将字典中的键和值对合并到字典中。|=toolsdevBio

总结

在这篇文章中,我们讨论了Python中的字典。您可以使用它们将数据存储在键值对中。

我们看到了如何在 Python 中使用以下方法合并两个字典:

  • 方法。update()
  • 双星号/星号运算符 ()。**
  • 方法。chain()
  • 方法。ChainMap()
  • 合并运算符 ()。|
  • 更新运算符 ()。|=

每个方法都有自己的部分,其中包含代码示例,这些代码示例演示了如何使用它们来合并字典。

祝您编码愉快!

© 版权声明
文章全是未果本果写的,尽量别直接复制粘贴
暂无评论

发送评论 编辑评论

上一篇
下一篇