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}
|= 可以直接修改原字典,把另一个字典的内容“合并进来”,类似 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+,低版本不支持。