我有这样的事情:
Dict1 = {'a': "blabla", 'b': "gugu"}
Dict2 = {'a': "tadaa", 'b': "duduu"}
我想要的是:
Dict3 = {'tadaa': "blabla", 'duduu': "gugu"}
答案 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)
在某种程度上,这取决于边缘情况是什么,以及您想对它们做些什么(例如,Dict1
和Dict2
中的键可能有什么不同?
这是一个解决密钥的解决方案,这些密钥只出现在两个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()))