python - 如何在二维数组中查找特定元素?
问题描述
a2D = np.arraya2D = np.array([[1, 2, 3, 2, 1], [1, 4, 5, 3, 2]])
因此,如果我有一个这样的数组,我不确定是否可以找到数组的特定部分,其中的值大于其邻居,所以如果它发现 3 和 5 是我希望它打印的值/返回数组位置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
不会存在。
推荐阅读
- javascript - 计算样式不返回元素的计算宽度
- python - 我想使用 perl 或 python 在已提交的更改列表的描述中添加前缀/附加一些文本
- flutter - Flutter - 推送通知
- django - Django Rest + Mongoengine - 允许模型字段是可选的
- java - JUnit4 - 如果使用 docker 运行,如何测试只读/写保护目录
- svn - 如何使用“ssh + svn”控制对每个目录的访问
- python - 在 python 3.6 以后,我们还需要使用 __init__.py 文件让 python 将文件夹视为包吗?
- c# - EnableCors C# .NET Core 3
- r - 如何删除 nrow 的数据框
我有一个数据框列表,大小不等。我想删除那些行数很少的(比如说<3)。
到目前为止,这是我一直在使用的东西,因为它的价值:
d1 <- data.frame(y1 = c(1, 2, 3, 9), y2 = c(4, 5, 6, 7)) d2 <- data.frame(y1
- android - 检查 Firestore 中的文档是否存在