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

如何计算Python中dictionary与list对应索引的非零差值

解决字典值与列表对应索引值的差值计算问题

问题说明

现有一个字典和一个列表,需要按索引位置用字典的对应值减去列表的值,仅保留差值不为零的结果。原代码只能判断两者是否完全相等,无法输出具体差值。

解决代码

dict1 = {
    "appel": 3962.00,
    "waspeen": 5018.75,
    "ananas": 3488.16
}

number_fruit = [3962, 5018.74, 3488.17]

# 按顺序配对字典键值对与列表元素
for (key, dict_val), list_val in zip(dict1.items(), number_fruit):
    diff = dict_val - list_val
    # 过滤差值为0的项,浮点数场景可根据精度调整判断条件
    if diff != 0:
        print(f"{key} : {diff:.2f}")

代码说明

  1. 配对元素:使用zip(dict1.items(), number_fruit)将字典的键值对与列表元素按插入顺序一一对应(Python 3.7+ 字典默认保留插入顺序)。
  2. 计算差值:对每一组配对元素计算字典值 - 列表值的差值。
  3. 过滤输出:仅输出差值不为0的结果,用格式化字符串保证输出格式符合要求。
  4. 浮点数精度提示:如果遇到浮点数精度导致的极小差值(如0.000000001),可改用abs(diff) > 1e-9来判断是否为非零值,避免精度误差干扰结果。

输出结果

waspeen : 0.01
ananas : -0.01

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 21:50:24