我注意到in
可以在numpy数组之间使用。但是,其含义可能有点违反直觉。
import numpy as np
np.array([0]) in np.array([1, 2])
# False
np.array([0]) in np.array([0, 1])
# True
np.array([0, 1]) in np.array([0])
# True -- somewhat surprisingly
所以它看起来像np.any(np.isin(·, ·))
,而不是更直观的np.all(np.isin(·, ·))
。
由于“ in”运算符的行为是由np.array类的contains方法的实现定义的,因此应检查此答案https://stackoverflow.com/a/30690604/7533781-对此进行了很好的解释。
按照此定义,[0, 1] in np.array([0])
的评估结果也为True-您可以自己尝试。