您可以比较的输入数组
equality,这将
broadcasted跨
a最后两个轴上每个位置的所有元素与第二个数组中对应位置的元素进行比较。这将产生一个匹配的布尔数组,在该数组中,我们检查
ALL最后两个轴上的
ANY匹配,最后检查是否匹配,就像这样-
((a==b).all(axis=(1,2))).any()
样品运行
1)输入:
In [68]: aOut[68]: array([[[2, 3, 0], [1, 0, 1]], [[3, 2, 0], [0, 1, 1]], [[2, 2, 0], [1, 1, 1]], [[1, 3, 0], [2, 0, 1]], [[3, 1, 0], [0, 2, 1]]])In [69]: bOut[69]: array([[3, 2, 0], [0, 1, 1]])
2)广播的元素比较:
In [70]: a==bOut[70]: array([[[False, False, True], [False, False, True]], [[ True, True, True], [ True, True, True]], [[False, True, True], [False, True, True]], [[False, False, True], [False, False, True]], [[ True, False, True], [ True, False, True]]], dtype=bool)
3)
ALL匹配最后两个轴,最后
ANY匹配:
In [71]: (a==b).all(axis=(1,2))Out[71]: array([False, True, False, False, False], dtype=bool)In [72]: ((a==b).all(axis=(1,2))).any()Out[72]: True
以下为类似的步骤
c中
a-
In [73]: cOut[73]: array([[300, 200, 0], [ 0, 100, 100]])In [74]: ((a==c).all(axis=(1,2))).any()Out[74]: False



