首页 > 解决方案 > Python Numpy - 如果数组在数组中

问题描述

如果某个数组(或列表)在 numpy 数组中,我想以最有效的方式(最快的方式)进行检查。但是当我这样做时:

import numpy

a = numpy.array(
    [
        [[1, 2]],
        [[3, 4]]
    ])

print([[3, 5]] in a)

它只比较第一个值并返回True

有人知道,我该如何解决?谢谢你。

标签: pythonarrayspython-3.xlistnumpy

解决方案


您的问题似乎与以下内容重复: 如何匹配两个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])

推荐阅读