如何在二维数组中查找特定元素?

时间:2021-07-13 01:24:30

标签: python arrays numpy 2d

a2D = np.arraya2D = np.array([[1, 2, 3, 2, 1], [1, 4, 5, 3, 2]])

因此,如果我有一个这样的数组,我不确定是否可以找到数组的特定部分,其中的值大于其邻居,因此如果它发现 3 和 5 是我想要的值打印/返回数组位置 a2D[0][2], a2D[1][2]

1 个答案:

答案 0 :(得分:0)

您可以尝试遍历 a2D 数组中的每个元素并检查当前元素是否大于其邻居(使用 2 个 for 循环):

import numpy as np

a2D = np.arraya2D = np.array([[1, 2, 3, 2, 1], [1, 4, 5, 3, 2]])

for i in range(len(a2D)):
    for j in range(1, len(a2D[i])-1):
        if a2D[i][j] > a2D[i][j-1] and a2D[i][j] > a2D[i][j+1]:
            print('a2D[{}][{}]'.format(i,j))
            break

输出:

a2D[0][2]
a2D[1][2]

我假设这样的元素是唯一的,这就是 break 的原因。如果不是这种情况,break 就不会存在。

相关问题