一起添加字典,Python

我有两本字典,我希望能够使它们成为一个:

像这样的伪Python的东西会很好:

dic0 = {'dic0': 0} dic1 = {'dic1': 1} ndic = dic0 + dic1 # ndic would equal {'dic0': 0, 'dic1': 1} 

如果你有兴趣创build一个新的字典,而不使用中间存储:(这是更快,在我看来,比使用dict.items()清洁)

 dic2 = dict(dic0, **dic1) 

或者,如果您乐意使用现有的一种字典:

 dic0.update(dic1) 
 >>> dic0 = {'dic0':0} >>> dic1 = {'dic1':1} >>> ndic = dict(dic0.items() + dic1.items()) >>> ndic {'dic0': 0, 'dic1': 1} >>> 

您正在寻找更新方法

 dic0.update( dic1 ) print( dic0 ) 

 {'dic0': 0, 'dic1': 1} 
 dic0.update(dic1) 

请注意,这实际上并没有返回组合字典,它只是改变了dic0

请在下次问问题之前search网站: 如何连接两个字典来创build一个新的Python?

最简单的方法是简单地使用示例代码,但使用每个字典的items()成员。 所以,代码将是:

 dic0 = {'dic0': 0} dic1 = {'dic1': 1} dic2 = dict(dic0.items() + dic1.items()) 

我在IDLE中testing它,它工作正常。 然而,关于这个话题的前一个问题表明,这种方法是缓慢的,咀嚼记忆。 还有其他几种推荐的方法,所以请看看,如果内存使用情况是重要的。

这里有很多添加字典的方法。

通过添加两个项目来创build一个新的字典。

 ndic = dict(dic0.items() + dic1.items()) 

如果你确定修改dic0

 dic0.update(dic1) 

如果你dic0修改dic0

 ndic = dic0.copy() ndic.update(dic1) 

如果一个字典中的所有键都确保为string(在这种情况下为dic1 ,当然可以交换参数)

 ndic = dict(dic0, **dic1) 

在某些情况下,使用词典解释(Python 2.7或更新版本)可能会很方便,
特别是如果你想要同时过滤或者转换一些键/值。

 ndic = {k: v for d in (dic0, dic1) for k, v in d.items()}