Python 3.9引入|和|=操作符简化字典合并:|创建新字典并覆盖重复键,|=就地更新原字典;相比{d1,d2}和update()更直观,仅支持字典类型且需Python 3.9+。

Python 3.9 引入了新的字典合并操作符,让字典的合并更加简洁直观。你可以使用 | 操作符来合并两个字典,也可以用 |= 来就地更新字典。
使用 | 合并两个字典
| 操作符会创建一个新字典,包含左右两个字典的键值对。如果键有重复,右边字典的值会覆盖左边的。
示例:
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
merged = dict1 | dict2
print(merged) # 输出: {'a': 1, 'b': 3, 'c': 4}
立即学习“Python免费学习笔记(深入)”;
使用 |= 更新现有字典
|= 可以直接修改原字典,把另一个字典的内容“合并进来”,类似 update() 方法。
示例:
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
dict1 |= dict2
print(dict1) # 输出: {'a': 1, 'b': 3, 'c': 4}
与其他方法对比
- 以前常用
{**dict1, **dict2}实现合并,3.9 后推荐使用|,更清晰。 -
dict1.update(dict2)会修改原字典,相当于|=;而|不改变原对象。 - 这些操作只支持字典类型之间合并。如果和非字典类型使用
|,会报错。
基本上就这些。语法更直观,适合写简洁的配置合并或参数覆盖场景。注意版本要求是 Python 3.9+,低版本不支持。











