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

如何用循环处理含Timestamp的列表l,提取连续1的时间区间?

提取连续1值分组的时间范围

给定数据列表l:

[[Timestamp('2022-07-14 00:01:00'), Timestamp('2022-07-14 00:11:00'), 1],
 [Timestamp('2022-07-14 00:08:00'), Timestamp('2022-07-14 00:18:00'), 1],
 [Timestamp('2022-07-14 00:15:00'), Timestamp('2022-07-14 00:25:00'), 1],
 [Timestamp('2022-07-14 00:22:00'), Timestamp('2022-07-14 00:32:00'), 0],
 [Timestamp('2022-07-14 00:29:00'), Timestamp('2022-07-14 00:39:00'), 0],
 [Timestamp('2022-07-14 00:36:00'), Timestamp('2022-07-14 00:46:00'), 1],
 [Timestamp('2022-07-14 00:43:00'), Timestamp('2022-07-14 00:53:00'), 1],
 [Timestamp('2022-07-14 00:50:00'), Timestamp('2022-07-14 01:00:00'), 1],
 [Timestamp('2022-07-14 00:57:00'), Timestamp('2022-07-14 01:07:00'), 0],
 [Timestamp('2022-07-14 01:04:00'), Timestamp('2022-07-14 01:14:00'), 1],
 [Timestamp('2022-07-14 01:11:00'), Timestamp('2022-07-14 01:21:00'), 1],
 [Timestamp('2022-07-14 01:18:00'), Timestamp('2022-07-14 01:28:00'), 1],
 [Timestamp('2022-07-14 01:25:00'), Timestamp('2022-07-14 01:35:00'), 0],
 [Timestamp('2022-07-14 01:32:00'), Timestamp('2022-07-14 01:42:00'), 0]]

需求:编写循环处理该数据,提取所有**连续出现l[i][2] == 1**的分组,每个分组需输出:

  • 分组第一个元素的第一个Timestamp
  • 分组最后一个元素的第二个Timestamp

解决方案代码

# 初始化变量
result = []
current_group_start = None

for idx, item in enumerate(l):
    # 当前元素标记为1的情况
    if item[2] == 1:
        # 无活跃分组时,记录起始时间
        if current_group_start is None:
            current_group_start = item[0]
        # 到达列表末尾或下一个元素标记为0时,结束当前分组
        if idx == len(l)-1 or l[idx+1][2] != 1:
            result.append((current_group_start, item[1]))
            current_group_start = None

# 输出结果
for start, end in result:
    print(f"{start}, {end}")

运行结果

Timestamp('2022-07-14 00:01:00'), Timestamp('2022-07-14 00:25:00')
Timestamp('2022-07-14 00:36:00'), Timestamp('2022-07-14 01:00:00')
Timestamp('2022-07-14 01:04:00'), Timestamp('2022-07-14 01:28:00')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 09:05:14