类型合并字典时出错:|不支持的操作数类型:"字典"和"字典"



我想使用运算符加入两个字典|但出现以下错误:

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)

相关内容

  • 没有找到相关文章

最新更新