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

如何逐个遍历Python list,查找连续数字序列中缺失的数值

连续序列缺失值校验实现方案

核心实现思路

  • 遍历列表到倒数第二个元素即可,避免下标越界
  • 逐个对比当前元素加1后的值与下一个元素的值
  • 两者不相等时,当前元素 + 1 就是第一个缺失的数值;如果两个元素差值大于2,循环输出中间所有缺失值即可

单缺失值场景代码(匹配你的需求示例)

你示例中的[0,1,2,4,5]场景直接用这段代码即可:

numbers = [0,1,2,4,5]

for i in range(len(numbers) - 1):
    if numbers[i] + 1 != numbers[i+1]:
        # 输出缺失值
        print(numbers[i] + 1)
        # 找到第一个缺失值后直接终止遍历,不需要继续校验
        break

运行后直接输出3,完全符合你的要求。

多缺失值兼容版本

如果需要处理两个元素间隔多个缺失值、或者列表存在多个不连续点的场景,用下面的版本:

numbers = [0,1,3,6,7]
missing_list = []

for i in range(len(numbers) - 1):
    current = numbers[i]
    next_val = numbers[i+1]
    # 遍历补充两个元素之间所有缺失的数值
    for miss_val in range(current + 1, next_val):
        missing_list.append(miss_val)

print("所有缺失的连续数值:", missing_list)

运行后输出[2,4,5],可以覆盖所有不连续场景。

注意事项

  • 上述代码默认输入列表已经从小到大排序,如果原列表是乱序,遍历前加一行numbers.sort()即可
  • 算法时间复杂度为O(n),仅需一次遍历即可完成校验,性能开销极低

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:45:00