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

如何将分段时间间隔列表转换为累计时间序列以用于绘图?

实现分段时间间隔到累计时间列表的转换

原始输入

原始时间间隔列表:

original = [2,4,6,8,2,4,6,8,10,30,60,30,60]

分段规则:

  • 第一段:前4个元素 [2,4,6,8]
  • 第二段:接下来5个元素 [2,4,6,8,10]
  • 第三段:接下来2个元素 [30,60]
  • 第四段:最后2个元素 [30,60]

转换逻辑

核心规则:

  1. 第一段元素直接作为结果的前半部分;
  2. 从第二段开始,每个分段的所有元素都加上前一段结果的最后一个值,得到当前段的结果;
  3. 依次拼接所有分段的处理结果,即为最终累计时间列表。

代码实现(Python)

original = [2,4,6,8,2,4,6,8,10,30,60,30,60]
# 按规则拆分分段
segments = [
    original[:4],
    original[4:9],
    original[9:11],
    original[11:]
]

result = []
prev_end = 0

for idx, seg in enumerate(segments):
    if idx == 0:
        result.extend(seg)
        prev_end = seg[-1]
    else:
        processed = [num + prev_end for num in seg]
        result.extend(processed)
        prev_end = processed[-1]

print(result)
# 输出结果:[2, 4, 6, 8, 10, 12, 14, 16, 18, 48, 78, 108, 138]

验证

  • 第一段处理后:[2,4,6,8],最后一个值为8;
  • 第二段每个元素加8,得到:[10,12,14,16,18],最后一个值为18;
  • 第三段每个元素加18,得到:[48,78],最后一个值为78;
  • 第四段每个元素加78,得到:[108,138];
  • 拼接后完全匹配目标列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:24:54