dict | dict2
Python中的操作是做什么的?
我遇到了它,我不确定它实际上做了什么以及何时使用它。
dict | dict2
Python中的操作是做什么的?
我遇到了它,我不确定它实际上做了什么以及何时使用它。
新的字典更新和合并运算符 (Python >= 3.9)
从 Python 3.9 开始,可以在 Python 中使用merge ( |
) 和update ( |=
) 运算符。它们在PEP-584中进行了描述。本质上,语义是最后一个重复键的值覆盖以前的值并成为结果字典中键的值。
这些操作符使得从两个字典中创建一个字典变得更加容易,因此它们等效于以下操作:
e = d1 | d2 # merge since Python 3.9
相当于旧的:
# Python < 3.9
# merge - solution 1
e = d1.copy(); e.update(d2)
# merge - solution 2
e = {**d1, **d2}
和:
d1 |= d2 # merge since Python 3.9
相当于旧的:
# Python < 3.9
# merge inplace - solution 1
d1.update(d2)
# merge inplace - solution 2
d1 = {**d1, **d2}
的优点|
d1 | d2
是一个表达式,而旧的方法不是可以在立即使用结果时派上用场的(例如传递参数、列表推导等)