首页 > 解决方案 > 列表索引超出范围,但我不明白为什么

问题描述

这是我编写的一个函数,用于对矩阵中的每个索引进行线性插值(每个索引是一个由五个值组成的列表,目标是确定第六个值)。我不断收到一条错误消息,指出列表索引超出范围,但我不知道如何。我相信我错过了一些非常小的东西,但我无法确定问题所在。这是一个大项目的一小部分,我想我已经研究这个太久了。因此,任何帮助将不胜感激。

tbi = [[1000, 2000, 3000, 4000, 5000], [1000, 2000, 3000, 4000, 5000]]

def interpolate():
    interpolated_vals = []
    i = 0
    while i < len(tbi):
        interpolated_vals.append(tbi[i][0]+((tbi[i][3] - tbi[i][2])*(tbi[i][1] - tbi[i][0])/(tbi[i][4] - [i][2])))
        i += 1

    return interpolated_vals

标签: pythonlistmatrixwhile-loop

解决方案


在行尾interpolated_vals.append(...

[i][2])))

一定是

 tbi[i][2])))

修正后函数返回[1500, 1500]


推荐阅读