我知道这很愚蠢......但是我错过了它。我尝试用随机值(1-10)填充一个numpy数组,然后遍历数组检查这些值。如果我用值1-9填充数组......没有问题,如果其中一个值是10......我会得到一个越界错误。
使用以下命令迭代数组时:
for x in array:
if array[x]==y: do_something_with_x
x不是数组中的元素吗?如果是这样,为什么我的代码引用x* 的值为10,导致数组越界?
import numpy as np
import random
arr_orig = np.zeros(10)
arr_copy = np.copy(arr_orig)
arr_orig = np.random.randint(1,11,10)
lowest_val = arr_orig[0]
for x in arr_orig:
if arr_orig[x] < lowest_val: lowest_val = arr_orig[x]
arr_copy[0] = lowest_val
print (arr_orig)
print (arr_copy)
1条答案
按热度按时间vbopmzt11#
正如@John Gordon的评论所说,这是一个索引问题。我想你的意思是: