Python中如何正确合并两个字典?错误使用+运算符引发报错
解决Python字典合并的问题
嘿,你猜得完全对!Python里的字典不支持用+运算符直接拼接,这就是你的代码运行到both = one + two时直接终止的原因。下面给你几种常用的字典合并方法,根据你的Python版本选就行:
方法1:Python 3.5+ 字典解包语法
这是目前最常用的写法,简洁清晰:
both = {**one, **two}
如果两个字典里有重复的键,后面字典(这里是two)的键值对会覆盖前面的(one)。
方法2:Python 3.9+ | 合并运算符
Python 3.9以后新增了专门的字典合并运算符,可读性更强:
both = one | two
要是你想直接在原有字典上更新(比如把two的内容合并到one里,不创建新字典),可以用|=运算符:
one |= two # 此时one就变成了合并后的字典:{"A":0, "B":0}
方法3:传统的copy() + update()方法
这个方法兼容所有Python版本,适合老版本环境:
# 先复制one的内容到both,避免修改原字典one both = one.copy() # 用two的键值对更新both both.update(two)
同样,如果有重复键,two的内容会覆盖both里原有的。
内容的提问来源于stack exchange,提问作者intrigued_66
相关产品推荐
相关产品推荐

