这是我的代码的一部分(很大一部分)。 http://pastebin.com/KCZNkYNB
根据设计,我正在发生的事情是遍历这个序列,直到我计算的距离最小化 1 厘米。在那之前我不想进入下一个时代,这就是为什么我认为我应该使用 .insert 作为我的列表。我需要覆盖它当前所在索引处的数据。
我得到的错误是:
Traceback (most recent call last):
File "receiver2.py", line 342, in <module>
main()
File "receiver2.py", line 244, in main
N.insert(k, ( dec.sqrt( (dec(satellite_output.x[k]) - dec(x_veh_coords[epoch]))**2 + (dec(satellite_output.y[k]) - d
ec(y_veh_coords[epoch]))**2 + (dec(satellite_output.z[k]) - dec(z_veh_coords[epoch]))**2 ) ) )
IndexError: list index out of range
此错误对应于 pastebin 文件中的第 54 行。
我不明白的是插入时索引如何超出范围。完整的 pastebin 输出: http://pastebin.com/qKhRjn2Q 您将在该输出的底部看到最后一个“k”索引为 7,然后它达到 epoch 1,并递增到索引 8,但随后被索引淘汰超出范围。我对为什么会发生这种情况感到非常困惑。我向您保证,所有试图插入的数据确实存在,就好像我要推荐 .insert 部分并取消注释 .append 一样,它工作正常。不幸的是,我刚刚意识到 append 正在“隐藏”我需要的数据,以便正确计算我的雅可比。
我希望我已经提供了足够的信息。谢谢你尽你所能的帮助!