You need to enable JavaScript to run this app. 如何改造Python列表值变换函数,使其可适配任意整数长度的列表?
优惠活动
大模型
产品
解决方案
定价
更多

如何改造Python列表值变换函数,使其可适配任意整数长度的列表?

任意长度列表的通用实现

核心逻辑拆解

原硬编码函数本质是对每个索引位重复执行同一套固定操作,完全可以通过循环消除硬编码,适配任意长度的列表:

  • 逐位遍历列表,对每个非末尾的索引位置i:
    • 把i位置之后所有元素的折半值,累加回i位置的元素
    • 把i位置之后的所有元素统一做折半更新
  • 末尾索引因为没有后续元素,不需要额外做折半操作,刚好匹配原硬编码的边界处理逻辑。

通用代码实现

def change_list(list1):
    for i in range(len(list1) - 1):
        # 累加后续元素的折半值到当前位置
        list1[i] += sum(val / 2 for val in list1[i+1:])
        # 将后续所有元素折半更新
        for j in range(i + 1, len(list1)):
            list1[j] /= 2
    return list1

该实现完全保留原函数原地修改入参的行为,和原有调用方式100%兼容,替换函数体即可直接使用。

结果校验

  • 输入长度为5的全1000列表[1000,1000,1000,1000,1000],输出为[3000, 1250, 500, 187.5, 62.5],和原硬编码函数结果完全一致
  • 输入长度为6的全1000列表[1000]*6,输出为[3500, 1500, 625, 250, 93.75, 31.25],符合规则预期
  • 代码中没有硬编码的固定索引值,传入任意长度的等初始值列表都可以按规则执行,不会出现索引越界的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.14 00:06:06