如何将2个Python词典变为1?

Thi*_*Lam 16 python merge dictionary

可能重复:
Python"扩展"字典

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

basket_one = {'fruit': 'watermelon', 'veggie': 'pumpkin'}
basket_two = {'dairy': 'cheese', 'meat': 'turkey'}
Run Code Online (Sandbox Code Playgroud)

然后我想要一大篮子的食物:

basket = {
    'fruit': 'watermelon', 
    'veggie': 'pumpkin', 
    'dairy': 'cheese', 
    'meat': 'turkey'
}
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*lli 54

"oneliner方式",既不改变输入词,也是

basket = dict(basket_one, **basket_two)
Run Code Online (Sandbox Code Playgroud)

如果发生冲突,项目basket_two将覆盖来自的项目basket_one.作为单行人员,这是非常可读和透明的,并且我没有任何强制反对使用它的任何时候一个混合的两个其他人派上用场(任何难以理解它的读者实际上将得到很好的服务这促使他或听到学习dict**形式的方式;-).因此,例如,使用如下:

x = mungesomedict(dict(adict, **anotherdict))
Run Code Online (Sandbox Code Playgroud)

在我的代码中经常发生.

  • 这是相当普遍的,每个人都应该知道的好习语 (3认同)

sep*_*p2k 7

basket = basket_one.copy()
basket.update(basket_two)
Run Code Online (Sandbox Code Playgroud)

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