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

如何将Python字典中的累计值转换为各键对应独立增量值

Python实现累计值字典转单级增量值字典

实现逻辑

给定的字典按level_1到level_5的顺序存储逐层级累加的累计值,转增量的规则非常直接:

  • 第一层级的增量值等于自身的累计值,因为没有前置层级的累计基数
  • 后续每一层级的增量值 = 当前层级累计值 - 上一层级的累计值

注意:该计算逻辑依赖字典的键顺序和层级顺序一致,Python 3.7+版本原生字典默认保留插入顺序,低版本需使用collections.OrderedDict存储原始数据,避免顺序错乱导致计算错误。

代码实现

直观遍历写法(可读性最好)

# 原始累计值字典
my_dict = {'level_1':2, 'level_2':2, 'level_3':8, 'level_4':11, 'level_5':13}

increment_dict = {}
prev_cum = 0
for level_key, cum_value in my_dict.items():
    increment_dict[level_key] = cum_value - prev_cum
    prev_cum = cum_value

print(increment_dict)
# 输出:{'level_1': 2, 'level_2': 0, 'level_3': 6, 'level_4': 3, 'level_5': 2}

简洁字典推导式写法

my_dict = {'level_1':2, 'level_2':2, 'level_3':8, 'level_4':11, 'level_5':13}
item_list = list(my_dict.items())
increment_dict = {
    item_list[i][0]: item_list[i][1] - (item_list[i-1][1] if i else 0)
    for i in range(len(item_list))
}

两种写法最终得到的结果完全一致,和目标要求的2、0、6、3、2增量值完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:18:19