如何将两个dict合并为一个

时间:2018-04-20 20:30:07

标签: python python-2.7

如果我有2个字典:

d1={1:[2,3,str],2:[4,5,str2]}
d2={3:[6,7],2:[8,9]}

我想创建一个新词典,它只包含两个词典中出现的键

new_d={2:[4,5,str2,8,9]}

1 个答案:

答案 0 :(得分:1)

{k: d1[k] + d2[k] for k in set(d1.keys()).intersection(d2.keys())}

此构造{... for ... in ... }称为字典理解。

在这两种情况下都不需要.keys(),但它们会更清楚地发生了什么。最短的版本是:

{k: d1[k] + d2[k] for k in set(d1) & set(d2)}

&运算符与集合大致相当于.intersection,而set(d1)可以正常工作,因为迭代字典会迭代其键。