numpy数组之间的“ in”运算符是什么意思?

时间:2019-10-07 09:17:04

标签: python numpy

我注意到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(·, ·))

  1. 真的是这样吗?
  2. 此选择的依据是什么?

1 个答案:

答案 0 :(得分:0)

由于“ in”运算符的行为是由np.array类的contains方法的实现定义的,因此您应检查此答案https://stackoverflow.com/a/30690604/7533781-对此进行了很好的解释。

遵循此定义,np.array([0])中的[0,1]也会计算为True-您可以自己尝试。