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

将列表连续数字替换为组内最小值或仅保留组内最小值

处理连续整数列表的两种实现方案

给定一个包含多组连续数字的整数列表,需要完成两种处理:

  • 将每组连续数字的所有元素替换为该组的最小值
  • 仅保留每组连续数字的最小值,删除组内其他元素

示例输入:

my_list = [1,2,3,4,6,7,8,9,11]

第一种处理结果:

result = [1,1,1,1,6,6,6,6,11]

第二种处理结果:

result = [1,6,11]

方案一:替换组内所有元素为最小值

遍历列表,维护当前连续组的最小值(即组的第一个元素),遇到连续元素就添加当前组最小值,遇到新组则更新最小值并添加:

my_list = [1,2,3,4,6,7,8,9,11]
if not my_list:
    print([])

result = []
current_group_min = my_list[0]
result.append(current_group_min)

for i in range(1, len(my_list)):
    if my_list[i] == my_list[i-1] + 1:
        result.append(current_group_min)
    else:
        current_group_min = my_list[i]
        result.append(current_group_min)

print(result)  # 输出: [1,1,1,1,6,6,6,6,11]

方案二:仅保留每组最小值

遍历列表,只在新组开始时(当前元素与前一个不连续)添加元素,因为连续组的第一个元素就是最小值:

my_list = [1,2,3,4,6,7,8,9,11]
if not my_list:
    print([])

result = [my_list[0]]
for i in range(1, len(my_list)):
    if my_list[i] != my_list[i-1] + 1:
        result.append(my_list[i])

print(result)  # 输出: [1,6,11]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:51:32