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

Python嵌套for循环实现两整数列表相加取不到最后索引问题求助

问题原因

    1. 函数调用顺序错误:Python是逐行解释执行的,你把predict()调用写在函数定义之前,运行时会直接抛出函数未定义的报错。
    1. 传参顺序颠倒:函数定义时第一个参数cases是原始数值列表,第二个predicted_growths是增长值列表,但你调用时先传了长度为3的增长值列表、后传了长度为4的原始数值列表,导致内层循环只走3次,漏掉了原始列表的最后一个元素1000。
    1. 循环逻辑冗余:外层循环仅需要遍历所有增长值,不需要额外加1;内层直接遍历原始数值列表逐个相加即可,不需要用insert方法额外补充最后一个元素。
    1. 列表取最后元素可以直接用负索引:列表名[-1]就能直接拿到列表的最后一个元素,语法本身已经支持,不需要借助insert方法绕路实现。

修正后代码

def predict(cases, predicted_growths):
    # 外层遍历每个增长值
    for growth in predicted_growths:
        new_cases = []
        # 内层遍历每个原始数值,加上当前增长值
        for num in cases:
            new_cases.append(num + growth)
        print(new_cases)

# 先定义函数,再调用,参数顺序对应原始数值、增长值
num_cases = [500, 800, 900, 1000]
num_predic = [10, 20, 30]
predict(num_cases, num_predic)

运行输出

[510, 810, 910, 1010]
[520, 820, 920, 1020]
[530, 830, 930, 1030]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 00:06:03