共计 849 个字符,预计需要花费 3 分钟才能阅读完成。
在实际开发中,我们经常需要对字典进行合并或更新操作。字典是一种键值对存储的数据结构,当两个字典存在相同的键时,新的字典会覆盖旧的键值对,而不同的键会被直接添加进去。Python 提供了多种方式来实现字典合并和更新,掌握这些方法能让代码更简洁高效。
首先,我们来看最常用的 update() 方法。它会将一个字典中的键值对更新到另一个字典中。如果遇到相同的键,后者的值会覆盖前者的值。例如:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2)
print(dict1) # 输出 {'a': 1, 'b': 3, 'c': 4}
可以看到,键 b 的值从 2 更新成了 3。
在 Python 3.5+ 中,我们还可以使用字典解包的方式来合并字典:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged = {**dict1, **dict2}
print(merged) # 输出 {'a': 1, 'b': 3, 'c': 4}
这种写法不会修改原始字典,而是返回一个新的合并字典。需要注意的是,解包时后面的字典会覆盖前面相同的键。
从 Python 3.9 开始,字典支持了合并运算符 | 和更新运算符 |=。例如:
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged = dict1 | dict2
print(merged) # 输出 {'a': 1, 'b': 3, 'c': 4}
dict1 |= dict2
print(dict1) # 输出 {'a': 1, 'b': 3, 'c': 4}
| 运算符会生成一个新的字典,而 |= 会在原字典上进行更新。
总结来看,字典的合并与更新在 Python 中非常灵活:update() 修改原字典,解包语法生成新字典,而 | 与 |= 则提供了更简洁的写法。在不同的场景下,我们可以选择最适合的方式来实现字典的合并操作。
要点提示:
- 使用
update()直接修改原字典。 - 使用
{**dict1, **dict2}返回新字典。 - Python 3.9+ 推荐用
|和|=进行字典合并。
正文完