Day50:字典的合并

server/2025/2/1 10:32:50/

在 Python 中,字典是一个可变的数据类型,经常需要将多个字典合并成一个字典。合并字典的方式有多种,今天我们将学习几种常见的方法。

1. 使用 update() 方法合并字典

update() 方法可以用来将一个字典中的键值对添加到另一个字典中。如果目标字典已经包含了相同的键,原有的键值会被更新。

示例:
python">dict1 = {'name': 'Alice', 'age': 25}
dict2 = {'city': 'New York', 'country': 'USA'}# 使用 update() 合并字典
dict1.update(dict2)# 打印合并后的字典
print(dict1)

输出:

{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

2. 使用字典解包(**)合并字典

在 Python 3.5 及以后的版本中,使用字典解包(**)是一种非常简洁且直观的方式来合并字典。你可以将多个字典的内容解包到一个新的字典中。

示例:
python">dict1 = {'name': 'Alice', 'age': 25}
dict2 = {'city': 'New York', 'country': 'USA'}# 使用字典解包合并字典
merged_dict = {**dict1, **dict2}# 打印合并后的字典
print(merged_dict)

输出:

{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

3. 使用 | 运算符合并字典(Python 3.9+)

从 Python 3.9 版本开始,可以使用 | 运算符来合并字典。这种方法简洁且直观。

示例:
python">dict1 = {'name': 'Alice', 'age': 25}
dict2 = {'city': 'New York', 'country': 'USA'}# 使用 | 运算符合并字典
merged_dict = dict1 | dict2# 打印合并后的字典
print(merged_dict)

输出:

{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

4. 使用 collections.ChainMap 合并字典

ChainMapcollections 模块中的一个类,它可以将多个字典合并成一个视图,提供一个合并后的字典视图,但并不会创建新的字典。如果字典中有相同的键,ChainMap 会返回第一个字典中的值。

示例:
python">from collections import ChainMapdict1 = {'name': 'Alice', 'age': 25}
dict2 = {'city': 'New York', 'country': 'USA'}# 使用 ChainMap 合并字典
merged_dict = ChainMap(dict1, dict2)# 打印合并后的字典
print(dict(merged_dict))

输出:

{'name': 'Alice', 'age': 25, 'city': 'New York', 'country': 'USA'}

5. 小结

  • 使用 update() 方法可以将一个字典的内容添加到另一个字典中,适用于更新目标字典。
  • 使用字典解包(**)提供了一种简洁的字典合并方式,适合在 Python 3.5 及以上版本中使用。
  • 从 Python 3.9 开始,可以使用 | 运算符直接合并字典,这是一个非常简洁和易懂的方法。
  • ChainMap 提供了一个合并字典的视图,适合处理多个字典的合并,但不会创建新的字典。

6. 课后练习

练习 1:使用 update() 方法合并字典

给定字典 {'name': 'Bob', 'age': 30}{'city': 'Los Angeles', 'job': 'Engineer'},使用 update() 方法合并这两个字典,并打印结果。

练习 2:使用字典解包合并字典

给定字典 {'name': 'Charlie', 'age': 25}{'city': 'Chicago', 'country': 'USA'},使用字典解包将这两个字典合并成一个新的字典。

练习 3:使用 | 运算符合并字典

给定字典 {'name': 'David', 'age': 35}{'city': 'Paris', 'job': 'Designer'},使用 | 运算符合并这两个字典,并打印合并后的字典。

练习 4:使用 ChainMap 合并字典

给定字典 {'name': 'Eva', 'age': 28}{'city': 'Berlin', 'country': 'Germany'},使用 ChainMap 合并字典并打印合并后的字典。

练习 5:合并多个字典

给定字典 dict1 = {'name': 'Frank'}, dict2 = {'age': 40}, dict3 = {'city': 'London'},使用字典解包或 update() 方法合并所有字典。


http://www.ppmy.cn/server/164045.html

相关文章

图像处理之图像灰度化

目录 1 图像灰度化简介 2 图像灰度化处理方法 2.1 均值灰度化 2.2 经典灰度化 2.3 Photoshop灰度化 2.4 C语言代码实现 3 演示Demo 3.1 开发环境 3.2 功能介绍 3.3 下载地址 参考 1 图像灰度化简介 对于24位的RGB图像而言,每个像素用3字节表示&#xff0…

宇宙大爆炸是什么意思

根据宇宙大爆炸学说,宇宙间的一切都在彼此远离,而且距离越远,远离的速度越快。我们只能在地球上观察这种现象,而我们观察到的速度符合如下公式,其中 为哈勃常数, 为距离, 为速度(…

spring mvc 创建restapi 笔记

RestController RequestMapping("/spittles") public class SpittleController {// 示例:使用 RequestBody 接收 JSON 并自动转换为 Spittle 对象PostMappingpublic Spittle saveSpittle(RequestBody Spittle spittle) {// 此时 Spring 已经把请求体中的 …

【JAVA实战】如何使用 Apache POI 在 Java 中写入 Excel 文件

大家好!🌟 在这篇文章中,我们将带你深入学习如何使用 Apache POI 在 Java 中编写 Excel 文件的技巧!📊📚 如果你是 Java 开发者,或者正在探索如何处理 Excel 文件的数据,那么这篇文章…

【狂热算法篇】探秘图论之Dijkstra 算法:穿越图的迷宫的最短路径力量(通俗易懂版)

羑悻的小杀马特.-CSDN博客羑悻的小杀马特.擅长C/C题海汇总,AI学习,c的不归之路,等方面的知识,羑悻的小杀马特.关注算法,c,c语言,青少年编程领域.https://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_82648291?typebbshttps://blog.csdn.net/2401_8264829…

MySQL注入中load_file()函数的使用

前言 在Msql注入中,load_file()函数在获得webshell以及提权过程中起着十分重要的作用,常被用来读取各种配置文件 而load_file函数只有在满足两个条件的情况下才可以使用: 文件权限:chmod ax pathtofile 文件大小:必须…

python 语音识别

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

为大模型提供webui界面的利器:Open WebUI 完全本地离线部署deepseek r1

为大模型提供webui界面的利器:Open WebUI Open WebUI的官网:🏡 Home | Open WebUI 开源代码:WeTab 新标签页 Open WebUI是一个可扩展、功能丰富、用户友好的自托管AI平台,旨在完全离线运行。它支持各种LLM运行程序&am…