Python Numpy - if数组在数组中



我想检查最有效的方式(最快的方式),如果一些数组(或列表)是在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])

您可以在最后一行添加tolist():

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

False

最新更新