Python字典的update()
方法用于将一个字典的键值对批量添加到另一个字典中,若键已存在则覆盖原值,否则新增键值对。 这一操作高效合并数据,避免手动循环,是字典操作的核心方法之一。
-
基本用法
直接调用dict1.update(dict2)
,将dict2
的键值对更新到dict1
。例如:d1 = {'a': 1, 'b': 2} d2 = {'b': 3, 'c': 4} d1.update(d2) # 结果:{'a': 1, 'b': 3, 'c': 4}
键
'b'
被覆盖,键'c'
新增。 -
支持多种参数类型
update()
不仅接受字典,还可接收键值对的可迭代对象(如列表元组)或关键字参数:d = {'x': 10} d.update([('y', 20), ('z', 30)]) # 列表元组 d.update(x=100, w=40) # 关键字参数
-
原地修改,无返回值
该方法直接修改原字典,返回None
,因此链式调用会报错。需分开操作:d = {'k': 1} d.update({'k2': 2}).update({'k3': 3}) # 错误!
-
与合并操作符(|)的区别
Python 3.9+中可用|
合并字典生成新对象,而update()
直接修改原字典。按需选择:new_dict = d1 | d2 # 不改变d1/d2 d1.update(d2) # 修改d1
总结:update()
是字典数据合并的利器,灵活处理覆盖与新增,适合动态更新场景。注意其原地修改特性,避免与合并运算符混淆。