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]
答案 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