示例:
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}
我想应该有一些内置的功能或更有效的方法来做到这一点,但我找不到它。
示例:
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}
我想应该有一些内置的功能或更有效的方法来做到这一点,但我找不到它。
2条答案
按热度按时间sdnqo3pr1#
并行地迭代值或项将不起作用,因为键不一定匹配,也不一定以相同的顺序。
而是查找两个字典的公共键:
然后使用dict解析从每个dict中查找具有这些键的值,并将它们组装成结果的键-值对:
mbskvtky2#
您可以使用zip:
在性能方面,
dict(zip(...)))
似乎是最快的: