合并两个词典

时间:2016-10-06 08:29:07

标签: python python-2.7 python-3.x

我有这样的事情:

Dict1 = {'a': "blabla", 'b': "gugu"}
Dict2 = {'a': "tadaa", 'b': "duduu"}

我想要的是:

Dict3 = {'tadaa': "blabla", 'duduu': "gugu"}

3 个答案:

答案 0 :(得分:3)

迭代一个字典的键和值,在新字典中使用该值作为键,并使用该键从第二个字典中提取相关值。在a single expression

>>> Dict1 = {'a': "blabla", 'b': "gugu"}
>>> Dict2 = {'a': "tadaa", 'b': "duduu"}    
>>> {v: Dict1[k] for k, v in Dict2.items()}
{'duduu': 'gugu', 'tadaa': 'blabla'}

答案 1 :(得分:1)

在某种程度上,这取决于边缘情况是什么,以及您想对它们做些什么(例如,Dict1Dict2中的键可能有什么不同?

这是一个解决密钥的解决方案,这些密钥只出现在两个dicts中的一个中:

>>> Dict1 = {'a': "blabla", 'b': "gugu", 'x': 'nope'}
>>> Dict2 = {'a': "tadaa", 'b': "duduu", 'y': 'nuh-uh'}

>>> {Dict2[k]: Dict1[k] for k in set(Dict1) & set(Dict2)}
{'tadaa': 'blabla', 'duduu': 'gugu'}

答案 2 :(得分:-2)

这样的事情会起作用吗?

Dict3 = dict(zip(Dict2.values(), Dict1.values()))