假设我有两个字典,a
和b
:
a = {"a": 2, "b": 4}
b = {"a": 5, "b": 2, "c": 10}
我想在两个字典中找到通用键,然后从b
中获取这些键的值以创建一个新的键。示例:
c = intersect_keys(a, b)
# c = {"a": 5, "b": 2}
如您所知,第一个数组中不存在的键未在新生成的键中使用。如何使用Python快速完成此操作?
此外,由于我们总是从第二个数组中选择值,所以最好只将a
放入列表中,然后对其进行迭代,然后再从b
中获取值?感谢您的回答。
答案 0 :(得分:2)
您可以使用词典理解,以便将b
中也存在的那些键保留在a
中:
{k:v for k,v in b.items() if k in a}
输出
{'a': 5, 'b': 2}
答案 1 :(得分:1)
尝试这个吗?:
myKeys = set(a.keys()).intersection(b.keys())
c = {}
for key in myKeys:
c[key] = b[key]