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

列表数值拆分累加生成60-100区间近80值的新列表实现咨询

列表处理功能完整实现

你原来使用for i in range(len(List))的遍历方式不适配元素拆分后剩余值重复参与计算的场景,调整为用临时变量存储累计值、配合指针遍历原列表的方式实现,完整可运行代码如下:

def process_list(input_list):
    res = []
    current_sum = 0
    idx = 0
    n = len(input_list)
    
    while idx < n or current_sum > 0:
        # 还有未处理元素时,优先尝试累加后续元素
        if idx < n:
            num = input_list[idx]
            temp = current_sum + num
            if temp <= 100:
                # 累加后落在合法区间,直接合并为结果元素
                if temp >= 60:
                    res.append(temp)
                    current_sum = 0
                    idx += 1
                # 累加后不足60,继续累计
                else:
                    current_sum = temp
                    idx += 1
            # 累加后超过100,拆分当前元素凑最接近80的合法值
            else:
                target = min(100, max(60, 80))
                take = target - current_sum
                res.append(target)
                current_sum = num - take
                idx += 1
        # 所有元素处理完成,剩余累计值直接追加到结果末尾
        else:
            res.append(current_sum)
            current_sum = 0
    return res

示例验证

  • 测试示例1:输入[12,40,30,53,82,31,100],输出[82, 80, 86, 100],与题目给出的预期结果完全一致
  • 测试示例2:输入[45,102,31,25,2,99],输出[80, 98, 80, 46],与题目给出的预期结果完全一致

逻辑说明

  • 用current_sum变量存储当前累计值,避免频繁修改原列表,提升运行效率
  • 严格遵循优先级规则:优先累加后续元素,只有累加后超过100时才拆分当前元素
  • 拆分元素时优先凑到最接近80的合法值(60~100区间内),拆分后的剩余值留作下一轮计算使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:57:00