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

如何根据元素值的跳跃间隔拆分连续递增的Python列表

连续递增子列表拆分实现

你可以通过遍历判断相邻元素差值的方式实现拆分,核心逻辑是只要当前元素和前一个元素的差值不为1,就判定为跳跃点,拆分新的子列表。
示例代码如下:

lst = [75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 221, 222, 223, 224, 225, 226, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 309, 310, 311, 312, 313, 314, 315, 316, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 401, 402, 403, 404, 405, 406, 407, 408, 439, 440]

# 边界处理:列表为空直接返回空
if not lst:
    result = []
else:
    # 初始化结果列表,第一个元素放入第一个子列表
    result = [[lst[0]]]
    # 从第二个元素开始遍历
    for current_num in lst[1:]:
        # 当前元素和上一个子列表的最后一个元素差为1,属于同一段连续序列
        if current_num == result[-1][-1] + 1:
            result[-1].append(current_num)
        # 差值大于1,属于新的连续序列,新建子列表
        else:
            result.append([current_num])

# 输出验证
print(result)

运行后得到的result就是你需要的嵌套列表格式,所有连续递增的元素会被分到同一个子列表,数值跳跃位置自动拆分。
如果后续你需要调整连续的判定标准,比如允许相邻元素差值小于某个阈值就算连续,只需要修改判断条件里的差值规则即可,比如允许差值不超过2就算连续,就把判断条件改为current_num - result[-1][-1] <= 2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:18:03