python - Python Numpy - 如果数组在数组中
问题描述
如果某个数组(或列表)在 numpy 数组中,我想以最有效的方式(最快的方式)进行检查。但是当我这样做时:
import numpy
a = numpy.array(
[
[[1, 2]],
[[3, 4]]
])
print([[3, 5]] in a)
它只比较第一个值并返回True
有人知道,我该如何解决?谢谢你。
解决方案
您的问题似乎与以下内容重复: 如何匹配两个numpy数组中包含的值对
无论如何,如果我理解正确的话,应该像第一个答案那样做:
import numpy
a = numpy.array(
[
[[1, 2]],
[[3, 4]]
])
b = numpy.array([[3,5]])
print((b[:,None] == a).all(2).any(1))
哪个输出:
array([False, True])
推荐阅读
- react-native - 在调用 `createReduxContainer` 之前,请先调用 `createReactNavigationReduxMiddleware`,以便我们知道何时触发您的监听器
- java - Java JCA 中的 OpenPGP
- sql - 如何转换 0x00000001AE76E3BF 时间戳?
- php - 当我将保存与用户相关的新事物时,在表格中插入用户 ID:Laravel
- asynchronous - 离子存储ngFor
- reactjs - 选择后带有输入的反应选择可搜索元素
- postgresql - 带有插入但没有复制操作的 postgres 转储
- javascript - WordPress 阻止如何访问和保存选项值
- keras - 如何使用先前单元格的预测作为 Keras 中的输入来训练 LSTM?
- javascript - 在某些位置将图像添加到ckeditor时出现问题