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

问题描述 投票:3回答:1

我注意到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. 此选择的依据是什么?
python numpy
1个回答
1
投票

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

按照此定义,[0, 1] in np.array([0])的评估结果也为True-您可以自己尝试。

© www.soinside.com 2019 - 2024. All rights reserved.