从两个字典创建新字典,其中键作为第一个字典的值,值作为第二个字典的值

2023-12-07

Example:

A = {1: "IWillBeAKeySoon", 7: "IHope"}
B = {1: "ItSeemsIAmAValue",6: "LostVal"}

我想将 A 和 B 结合起来得到一个如下所示的字典 C:

C = {"IWillBeAKeySoon": "ItSeemsIAmAValue"}

我已经手动完成了:

C={A[key]:value for key,value in B.items() if key in A}

我认为应该有一些内置函数或更有效的方法来做到这一点,但我找不到它。


并行迭代值或项目不管用因为密钥不一定匹配,也不一定按相同的顺序。

相反,找到两个字典共有的键:

keys = set(A.keys()) & set(B.keys())

然后使用字典理解使用这些键查找每个字典中的值,并将它们组装成键值对以获得结果:

C = {A[k]:B[k] for k in keys}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从两个字典创建新字典,其中键作为第一个字典的值,值作为第二个字典的值 的相关文章

随机推荐