首页 > 解决方案 > 如何在二维数组中查找特定元素?

问题描述

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

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

标签: pythonarraysnumpy2d

解决方案


您可以尝试遍历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不会存在。


推荐阅读