Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 索引器:索引超出范围,我在这里做错了什么?_Python_Arrays_Numpy_Indexing - Fatal编程技术网

Python 索引器:索引超出范围,我在这里做错了什么?

Python 索引器:索引超出范围,我在这里做错了什么?,python,arrays,numpy,indexing,Python,Arrays,Numpy,Indexing,我得到错误索引器:索引超出范围 我的代码是 for i in range(len(x_particle_position)): x_particle_position[i] += delta_translation_hat[i] * (np.cos(particle_heading_list[i] + delta_rotation_1_hat[i])) print("X is" , x_particle_position[i]) 知道: x粒子位置长度=50

我得到错误索引器:索引超出范围

我的代码是

for i in range(len(x_particle_position)):
    x_particle_position[i] += delta_translation_hat[i] * (np.cos(particle_heading_list[i] + delta_rotation_1_hat[i]))
    print("X is" , x_particle_position[i])
知道:

x粒子位置长度=5000

粒子标题列表长度=5000

delta_平移长度=1000

三角旋转长度=1000

提前感谢:)

我猜有两个问题: 您正在迭代(x_particle_position),但不是从0开始并在(len(x_particle_position)-1结束,而是遍历范围 +
如前所述,您正在迭代5000项(x_particle_position),但是delta_translation_只有1000项?(因此,这比上述问题更早失败)

请提供足够的详细信息,以便没有看到您的屏幕的人能够回答此问题。更好的办法是,尝试在一个玩具示例中重现错误,然后自己调试。你的i值上升到5000,但你却用它来索引长度为1000的数组。@MadPhysicator,我不确定还需要什么详细信息?谢谢:)@dm2谢谢你的澄清,我认为从逻辑上讲没有办法避免这样的错误,但是有什么技巧可以跳过它吗?堆栈跟踪将是一个很好的开始。这似乎是一个简单的调试问题。您是否在调试器中运行了此功能,并在崩溃的步骤中检查了大小与索引?这是你发帖前工作的一部分。5000和1000的差别很重要。但是你的
范围有点错了<代码>范围(len(x))
是迭代
x
时的正确用法。不需要0,则
-1
调整错误。