话不多说直接上图
- 情况1:
a = np.array([[1, 2], [3, 4]])
print([3, 2] in a)
输出结果竟然是:震惊,这么反人类的吗???
- 情况2:
a = np.array([[1, 2], [3, 4]])
print([4, 3] in a)
输出结果还好不反人类:
- 情况3
a = np.array([[1, 2], [3, 4]])
print([6, 2] in a)
理想很美好,现实却。。。
原因
a = np.array([[1, 2], [3, 4]])
a.tolist()
print(a)
print([1, 3] in a)
b = [[1, 2], [3, 4]]
print(b)
print([1,3] in b)
输出:
numpy这个用in的话是,第一个元素是否在第一列里 or 第二个元素是否在第二列里
解决方案
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = [1, 4] == a
c = np.logical_and(b[:, 0], b[:, 1])
print(b)
print(c)
输出:终于ok了!