首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

三种常用方法合并 Python 字典,你学会了吗?

在使用 Python 字典时,你有时需要将多个字典合并成一个,以便后续处理。

本教程将介绍三种常见的 Python 字典合并方法。我们将重点学习以下三种方式:

使用 update() 方法

字典解包

并集运算符(|)

让我们开始吧!

注意:你可以在 GitHub 上找到相关代码示例。

使用 update() 方法

要合并两个字典,可以使用字典的 update() 方法。这个方法会用另一个字典的键值对更新现有字典,示例如下:

dict1.update(dict2)

这里:

dict1:需要被更新的原始字典。

dict2:其键值对将被添加到 dict1 中。

注意:此方法会直接修改原始字典。如果你不想修改原始字典,可以先创建一个副本再进行更新。

假设我们有两个包含数据库连接配置信息的字典 config1 和 config2:

config1 = {

  'database': 'Postgres',

  'host': 'localhost',

  'port': 5432

}

config2 = {

  'username': 'admin',

  'password': 'secret',

  'timeout': 30

}

现在我们将 config1 的副本与 config2 合并:

# 使用 update() 方法合并

final_config = config1.copy()  # 创建副本,避免修改原始 config1

final_config.update(config2)

print(final_config)

如上所示,update() 方法将 config2 的所有键值对添加到 final_config 中,最终得到包含所有配置信息的合并字典。

输出结果 >>>

{

  'database': 'Postgres',

  'host': 'localhost',

  'port': 5432,

  'username': 'admin',

  'password': 'secret',

  'timeout': 30

}

2. 使用字典解包:{**dict1, **dict2}

就像可以解包元组一样,也可以使用 ** 运算符解包字典。这样可以通过解包两个字典的键值对来创建一个新字典。

假设有 dict1 和 dict2 两个字典,可以这样合并:

merged_dict = {**dict1, **dict2}

合并 config 字典的示例:

config1 = {

  'database': 'Postgres',

  'host': 'localhost',

  'port': 5432

}

config2 = {

  'username': 'admin',

  'password': 'secret',

  'timeout': 30

}

# 使用字典解包合并

final_config = {**config1, **config2}

print(final_config)

字典解包方法 {**config1, **config2} 创建了一个新的 final_config 字典,其中包含了 config1 和 config2 的所有键值对。

输出结果 >>>

{

  'database': 'Postgres',

  'host': 'localhost',

  'port': 5432,

  'username': 'admin',

  'password': 'secret',

  'timeout': 30

}

3. 使用并集 | 运算符

并集运算符(|)是在 Python 3.9 新增的一种合并字典的简洁方式。

你可以这样使用:

merged_dict = dict1 | dict2

这会将 dict1 和 dict2 合并成一个新字典。

config1 = {

  'database': 'Postgres',

  'host': 'localhost',

  'port': 5432

}

config2 = {

  'username': 'admin',

  'password': 'secret',

  'timeout': 30

}

# 使用 | 运算符合并

final_config = config1 | config2

print(final_config)

| 运算符将 config1 和 config2 合并为新的 final_config 字典:

输出结果 >>>

{

  'database': 'Postgres',

  'host': 'localhost',

  'port': 5432,

  'username': 'admin',

  'password': 'secret',

  'timeout': 30

}

总结

让我们回顾一下合并 Python 字典的几种不同方法:

update() 方法(dict1.update(dict2))会更新已有字典。

{**dict1, **dict2} 使用解包方式创建一个新的合并字典。

并集运算符 |(Python 3.9+)可以用简单语法 dict1 | dict2 合并字典。

这并不是合并字典的全部方法。还有其他方式,比如列表推导式、使用 collections.ChainMap 创建合并视图等。但上述方法是最常用的几种。

祝你编程愉快!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OVjN3C8Hr48dDHvIzI15_sTw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券