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

如何比较两个字典同键值并筛选字典B中更小的对应值

解决方案

只需修改循环内的判断条件,将值相等的判断替换为dictionary2[key] < dictionary1[key],同时保留键存在性检查即可实现需求。

修改后的循环版代码

dictionary1 = {'A':7, 'B':8, 'C':9}
dictionary2 = {'A':2, 'B':8, 'C':22}

pairs = dict()

for key in dictionary1:
    if key in dictionary2 and dictionary2[key] < dictionary1[key]:
        pairs[key] = dictionary2[key]

print(pairs)

运行结果:

{'A': 2}

更简洁的字典推导式写法

如果偏好更紧凑的Python风格,也可以用字典推导式实现相同逻辑:

dictionary1 = {'A':7, 'B':8, 'C':9}
dictionary2 = {'A':2, 'B':8, 'C':22}

pairs = {
    key: dictionary2[key] 
    for key in dictionary1 
    if key in dictionary2 and dictionary2[key] < dictionary1[key]
}

print(pairs)

两种写法的效率一致,都能高效处理数千条数据的库存字典——因为字典的键查找是O(1)操作,遍历仅需一次。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:05:21