一起添加字典,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()}