index out of bounds error:Python

时间:2015-01-24 18:12:16

标签: python

在我写的代码中,我一直得到索引错误"索引越界"但是,我没有看到它会给我错误的合理方式。

这是我收到此错误的地方:

def data_point(box_size): 
    np.random.seed(250)
    x_data = np.random.uniform(-1, 1, 40)*box_size*0.5
    y_data = np.random.uniform(-1, 1, 40)*box_size*0.5
    for i in x_data:
        print "(", x_data[i], ",", y_data[i], ")" 
    return x_data, y_data

这是我正在使用的代码的一部分。每当我运行这个时,我从第五行得到一个错误。如果我只是简单地放置范围(40)而错误就会消失。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

i不是索引。 i 数据本身。如果您想配对数组,只需使用zip()

for x, y in zip(x_data, y_data):
    print "(", x, ",", y, ")" 

对于需要索引的情况,您可以使用enumerate() function 添加索引:

for i, x in enumerate(x_data):
    print "(", x, ",", y_data[i], ")" 

或者您可以range()使用len()来生成一定数量的索引:

for i in range(len(x_data)):