sop*_*ros 9 python dictionary typeerror python-3.x python-3.8
我想使用运算符连接两个字典|,但出现以下错误:
TypeError: unsupported operand type(s) for |: 'dict' and 'dict'
Run Code Online (Sandbox Code Playgroud)
MWE代码如下:
d1 = {'k': 1, 'l': 2, 'm':4}
d2 = {'g': 3, 'm': 7}
e = d1 | d2
Run Code Online (Sandbox Code Playgroud)
字典的merge ( |) 和 update ( ) 运算符是在 Python 3.9中引入的,因此它们在旧版本中不起作用。您可以选择将 Python 解释器更新到 Python 3.9或使用以下替代方案之一:|=
# option 1:
e = d1.copy()
e.update(d2)
# option 2:
e = {**d1, **d2}
Run Code Online (Sandbox Code Playgroud)
但是,如果您想更新到 Python 3.9,您可以d1直接保存一些内存更新字典,而不是使用就地合并操作创建另一个字典:
d1 |= d2
Run Code Online (Sandbox Code Playgroud)
这相当于旧版本 Python 中的以下内容:
d1.update(d2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6824 次 |
| 最近记录: |