我想使用运算符加入两个字典|
但出现以下错误:
TypeError: unsupported operand type(s) for |: 'dict' and 'dict'
MWE代码如下:
d1 = {'k': 1, 'l': 2, 'm':4}
d2 = {'g': 3, 'm': 7}
e = d1 | d2
字典的合并(|
(和更新(|=
(运算符是在Python3.9中引入的,所以它们在旧版本中不起作用。您可以选择将 Python 解释器更新到 Python3.9或使用以下替代方案之一:
# option 1:
e = d1.copy()
e.update(d2)
# option 2:
e = {**d1, **d2}
但是,如果要更新到 Python 3.9,可以直接节省一些内存更新字典d1
,而不是使用就地合并操作创建另一个字典:
d1 |= d2
这相当于旧版本的 Python 中的以下内容:
d1.update(d2)