python3.9中字典合并如何操作?

Python 3.9引入|和|=操作符合并字典,|创建新字典,|=就地更新,重复键后者覆盖,相比**解包和update()更直观清晰。

在 Python 3.9 中,字典合并变得更加方便,引入了新的合并操作符。你可以使用 | 操作符来合并两个字典,也可以使用 |= 操作符来就地更新字典。

使用 | 操作符合并字典

这个操作符会创建一个新字典,包含两个字典的键值对。如果存在重复的键,后面字典的值会覆盖前面的。

dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'b': 4}

merged = dict1 | dict2 print(merged) # 输出: {'a': 1, 'b': 4, 'c': 3}

使用 |= 操作符更新字典

这个操作符会直接修改原字典,将另一个字典的内容合并进来,类似 update() 方法。

dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'b': 5}

dict1 |= dict2 print(dict1) # 输出: {'a': 1, 'b': 5, 'c': 3}

与旧版本对比

在 Python 3.9 之前,通常用 ** 解包或 update() 方法来实现类似效果。

# 旧方式:使用解包
merged = {**dict1, **dict2}

或者使用 update()

dict1.update(dict2)

现在有了更直观的语法,代码更清晰易读。

基本上就这些,不复杂但容易忽略细节。