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

如何在Python中查找列表中相邻元素间的缺失元素?

问题:找出列表中相邻元素间的缺失值

输入列表:

['1', '5', '6', '7', '10']

期望输出:找出相邻元素之间的缺失值,最终得到:

['2', '3', '4', '8', '9']

已完成的预处理代码:

# Sort elements in a list
input_list.sort()

# Remove duplicates from a list
input_list = list(dict.fromkeys(input_list))

解决方案

在预处理的基础上,通过遍历相邻元素对计算缺失值,具体实现如下:

input_list = ['1', '5', '6', '7', '10']

# 预处理:排序+去重
input_list.sort()
input_list = list(dict.fromkeys(input_list))

# 存储缺失值的结果列表
missing_values = []

# 遍历每一对相邻元素
for i in range(len(input_list) - 1):
    # 将字符串元素转为整数,方便数值计算
    current = int(input_list[i])
    next_num = int(input_list[i+1])
    # 两数差大于1时,说明存在缺失值
    if next_num - current > 1:
        # 生成中间所有整数,转回字符串后加入结果列表
        for num in range(current + 1, next_num):
            missing_values.append(str(num))

print(missing_values)

代码说明:

  • 类型转换:输入元素是字符串类型,转为整数才能进行数值比较,最后转回字符串保证输出格式一致。
  • 相邻元素遍历:通过range(len(input_list)-1)遍历每一对相邻元素,避免索引越界。
  • 缺失值生成:当相邻整数差大于1时,用range(current+1, next_num)生成中间所有整数,逐个转为字符串后添加到结果列表。

运行代码后,会输出期望结果:['2', '3', '4', '8', '9']


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 21:55:20