【问题标题】:How can 2 Python dictionaries become 1? [duplicate]2个Python字典怎么变成1个? [复制]
【发布时间】:2010-12-05 19:38:24
【问题描述】:

可能重复:
Python “extend” for a dictionary

我知道 Python 列表可以附加或扩展。有没有一种简单的方法可以将两个 Python 字典与唯一键结合起来,例如:

basket_one = {'fruit': 'watermelon', 'veggie': 'pumpkin'}
basket_two = {'dairy': 'cheese', 'meat': 'turkey'}

然后我想要一大篮食物:

basket = {
    'fruit': 'watermelon', 
    'veggie': 'pumpkin', 
    'dairy': 'cheese', 
    'meat': 'turkey'
}

如何在 Python 中执行上述操作?

【问题讨论】:

    标签: python merge dictionary


    【解决方案1】:
    basket = basket_one.copy()
    basket.update(basket_two)
    

    (如果原始的 basket_one 不需要保持原样,您可以省略副本)

    【讨论】:

      【解决方案2】:

      “单线方式”,不改变任何输入字典,是

      basket = dict(basket_one, **basket_two)
      

      如果发生冲突,来自basket_two 的项目将覆盖来自basket_one 的项目。就单行而言,这是非常易读和透明的,并且我不会因为任何时候使用它而感到内疚这促使他或听到了解dict** 表格的方式;-)。因此,例如,使用如下:

      x = mungesomedict(dict(adict, **anotherdict))
      

      在我的代码中相当频繁地出现。

      注意:在 Python 3 中,这仅在 anotherdict 中的每个键都是字符串时才有效。见these alternatives

      【讨论】:

      • 这个比较常见,人人都应该知道的好成语
      • 哇,这是一种非常有趣的组合两个字典的方式。它使用基本的 Python。我很高兴这个答案在问题结束之前就被偷偷溜进来了。
      猜你喜欢
      • 2022-08-21
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      相关资源
      最近更新 更多