通过Numpy数组元素循环

问题描述 投票:0回答:1

是否有更易读的方式编写Python遍历Numpy数组每个元素的循环?我已经提出了以下代码,但是它看起来很繁琐,而且不太可读:

import numpy as np
arr01 = np.random.randint(1,10,(3,3))
for i in range(0,(np.shape(arr01[0])[0]+1)):
    for j in range(0,(np.shape(arr01[1])[0]+1)):
        print (arr01[i,j])

我可以使其更加明确,例如:

import numpy as np
arr01 = np.random.randint(1,10,(3,3))
rows = np.shape(arr01[0])[0]
cols = np.shape(arr01[1])[0]
for i in range(0, (rows + 1)):
    for j in range(0, (cols + 1)):
        print (arr01[i,j])

但是,与其他语言相比,这看起来仍然比较麻烦,即,可以读取VBA中的等效代码(假设已经填充了数组:]]

dim i, j as integer
for i = lbound(arr01,1) to ubound(arr01,1)
   for j = lbound(arr01,2) to ubound(arr01,2)
       msgBox arr01(i, j)
   next j
next i

非常感谢您的提示和技巧,>>

最诚挚的问候,

J。

是否有更易读的方式编写Python遍历Numpy数组每个元素的循环?我想出了以下代码,但它看起来很繁琐且不易读:import ...

python numpy numpy-ndarray
1个回答
1
投票

如果不需要索引值,则应使用内置函数nditer

for elem in np.nditer(arr01):
    print(elem)
© www.soinside.com 2019 - 2024. All rights reserved.