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

如何逐键对比两个Python字典并计算对应值的差值?

解决字典逐键对比求差值的问题

给定两个键完全相同的Python字典:

d1 = {'k1': {'a': 100}, 'k2': {'b': 200}, 'k3': {'b': 300}, 'k4': {'c': 400}}
d2 = {'k1': {'a': 101}, 'k2': {'b': 200}, 'k3': {'b': 302}, 'k4': {'c': 399}}

要生成每个键对应子字典值的差值(取绝对值),并输出指定格式的结果,可以用字典推导式实现:

result = {
    key: {'diff': abs(next(iter(d2[key].values())) - next(iter(d1[key].values())))}
    for key in d1
}

print(result)

运行上述代码后,输出结果为:

{'k1': {'diff': 1}, 'k2': {'diff': 0}, 'k3': {'diff': 2}, 'k4': {'diff': 1}}

代码说明

  • next(iter(d[key].values())):因为每个子字典只有一个键值对,用这个方法可以快速取出子字典中的数值,无需关心子字典的键名。
  • abs(...):计算两个数值差值的绝对值,确保结果为非负数,符合示例中的输出要求。
  • 字典推导式遍历d1的所有键(因两个字典键完全相同,遍历d2也可),逐个生成对应差值的结果项。

内容的提问来源于stack exchange,提问作者soumya-kole

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:05:41