You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中对比两个字典提取共有键值对生成新字典的实现方法

实现方案

方法1:字典推导式(最简洁,兼容所有Python3版本)

直接遍历dict2的键值对,筛选出同时存在于dict1中的键即可:

dict3 = {k: v for k, v in dict2.items() if k in dict1}

方法2:键集合交集实现(适合大数据量场景)

先取两个字典的键交集,再基于交集从dict2取值构建新字典,效率更高:

common_keys = dict1.keys() & dict2.keys()
dict3 = {k: dict2[k] for k in common_keys}

完整测试代码

dict1 = {'a': '14591', 'b': '14590', 'c': '14590', 'd': '14590', 'e': '14590'}   
dict2 = {"k": '0', "l": '1', 'b': '2', 'c': '2', 'd': '6', 'e': '7'}

# 任选一种实现方式即可
dict3 = {k: v for k, v in dict2.items() if k in dict1}
print(dict3)
# 输出:{'b': '2', 'c': '2', 'd': '6', 'e': '7'}

逻辑说明

  • 字典的键查询时间复杂度为O(1),两种实现方式的执行效率都很高
  • 最终生成的dict3只会保留同时存在于两个字典中的键,且值完全和dict2的对应值一致,符合需求。

内容的提问来源于stack exchange,提问作者feramuz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:30:04