【问题标题】:What are the differences between Dictionary Merge (|) & Update Operators (|=) Operators?字典合并 (|) 和更新运算符 (|=) 运算符有什么区别?
【发布时间】:2021-02-16 11:32:30
【问题描述】:

Python 3.9 添加了字典合并 (|) 和更新运算符 (|=) announcement

两者有什么区别? update 操作符和 dict.update 之间有什么不同(如果有的话)?

【问题讨论】:

  • this 帖子的欺骗,但这不是一个很好的目标。我发誓有一篇很好的帖子涵盖了这个。
  • 你读过the PEP吗?如果没有,您在阅读 PEP 后还有任何疑问吗?
  • @wim 我当然做到了。您认为 PEP 584 的某些部分回答了这个问题吗?我当然没看到。
  • 是的,PEP 的specification 部分准确地解释了新运营商的作用和不同之处,并附有示例。 motivation 部分解释了与 dict.update 的区别。我认为您的问题并没有真正显示出我们对堆栈溢出的预期研究水平。

标签: python dictionary merge


【解决方案1】:

这些类似于其他增强操作。 |{**d1, **d2} 一样创建一个新字典。 |= 更新现有字典,如 .update

>>> d1 = {1:1, 3:3}
>>> d2 = {2:2, 3:4}
>>> 
>>> d3 = d1 | d2
>>> d3
{1: 1, 3: 4, 2: 2}
>>> 
>>> d1 |= d2
>>> d1
{1: 1, 3: 4, 2: 2}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2015-07-03
    • 2022-11-24
    • 2018-08-16
    • 2012-10-10
    • 2021-11-08
    • 2011-02-23
    相关资源
    最近更新 更多