python 循环遍历Numpy数组,元素值导致越界?

inn6fuwd  于 2022-12-25  发布在  Python
关注(0)|答案(1)|浏览(172)

我知道这很愚蠢......但是我错过了它。我尝试用随机值(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)
vbopmzt1

vbopmzt11#

正如@John Gordon的评论所说,这是一个索引问题。我想你的意思是:

for x in arr_orig:
    if x < lowest_val: lowest_val = x

相关问题