Python 合并两个字典的 8 种常用方法
在 Python 开发中,字典(Dictionary)是最常用的数据结构之一。经常需要处理多个字典数据的合并场景,例如配置项叠加、数据聚合等。本文详细讲解了 Python 中合并两个字典的八种主流方法,涵盖语法特性、版本兼容性、内存影响及适用场景对比。
1. 使用 update() 方法
update() 是字典对象内置的方法,用于将另一个字典的键值对更新到当前字典中。该方法会直接修改原字典,返回值为 None。
特点:
- 原地修改,不创建新字典。
- 若键冲突,后一个字典的值会覆盖前一个。
- 适用于允许修改原对象的场景。
def merge_update(dict1, dict2):
# 注意:update 返回 None,不能直接赋值给变量作为结果
dict1.update(dict2)
return dict1
dict1 = {'a': 10, 'b': 8}
dict2 = {'d': 6, 'c': 4}
result = merge_update(dict1, dict2)
print(result) # 输出:{'a': 10, 'b': 8, 'd': 6, 'c': 4}
2. 使用 ** 操作符(解包)
从 Python 3.5 开始,支持使用 ** 操作符进行字典解包。这是一种简洁且常用的方式,可以生成一个新的字典。
特点:
- 创建新字典,不影响原对象。
- 语法简洁,可读性高。
- 适用于 Python 3.5+ 环境。
def merge_unpack(dict1, dict2):
res = {**dict1, **dict2}
return res
dict1 = {'a': 10, 'b': 8}
dict2 = {'d': 6, 'c': 4}
print(merge_unpack(dict1, dict2)) # 输出:{'a': 10, 'b': 8, 'd': 6, 'c': 4}
3. 使用 | 运算符(Python 3.9+)
Python 3.9 引入了新的字典合并运算符 |。这是目前最推荐的现代写法,语义清晰。


