你如何迭代这个数组?我知道这是非常基本的

时间:2017-11-08 01:12:07

标签: arrays numpy

import numpy as np
a=np.arange(6)

for i in a:
    b[i]=a[i] + 1

print(b)

这是错误

  

IndexError:列表分配索引超出范围

我希望b阅读[1 2 3 4 5 6]

1 个答案:

答案 0 :(得分:1)

for i in array返回值,而不是索引。要迭代索引,请使用range(len(a))而不是a

更正的代码:

for i in range(len(a)):
    b[i] = a[i] + 1

更好的解决方案,如果你只是寻找1到6,那就是做np.arange(1, 7)

编辑:保罗指出,numpy有一个比我知道的更好的解决方案。您所要做的就是b = a + 1