如何在二维数组中查找特定元素?
How to find specific elements in 2d array?
a2D = np.arraya2D = np.array([[1, 2, 3, 2, 1], [1, 4, 5, 3, 2]])
因此,如果我有一个这样的数组,我不确定是否可以找到数组的特定部分,其中的值大于它的邻居,所以如果它发现 3 和 5 是我会的值喜欢它 print/return 数组位置所以 a2D[0][2]
, a2D[1][2]
您可以尝试遍历 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
就不会存在。
a2D = np.arraya2D = np.array([[1, 2, 3, 2, 1], [1, 4, 5, 3, 2]])
因此,如果我有一个这样的数组,我不确定是否可以找到数组的特定部分,其中的值大于它的邻居,所以如果它发现 3 和 5 是我会的值喜欢它 print/return 数组位置所以 a2D[0][2]
, a2D[1][2]
您可以尝试遍历 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
就不会存在。