Python 超载“==&引用;numpy数组的运算符
我正在用Python定义一个需要检查的函数Python 超载“==&引用;numpy数组的运算符,python,numpy,operator-overloading,Python,Numpy,Operator Overloading,我正在用Python定义一个需要检查的函数 if a==b: do.stuff() 原则上,a和b可以是numpy数组或整数,我希望我的实现对这一点具有鲁棒性。但是,要检查numpy数组的相等性,需要将布尔值与all()一起追加,这将在a和b为整数时中断代码 是否有一种简单的方法来编码相等性测试,使其无论a和b是整数还是numpy数组都能工作?这个方法对数组和整数(数字)都有效吗: 您是否尝试过使用type()?将all粘贴在比较中甚至对数组都不正确-当数组的形状不匹配时,您会得到各种误报
if a==b:
do.stuff()
原则上,a
和b
可以是numpy数组或整数,我希望我的实现对这一点具有鲁棒性。但是,要检查numpy数组的相等性,需要将布尔值与all()一起追加,这将在a
和b
为整数时中断代码
是否有一种简单的方法来编码相等性测试,使其无论
a
和b
是整数还是numpy数组都能工作?这个方法对数组和整数(数字)都有效吗:
您是否尝试过使用
type()
?将all
粘贴在比较中甚至对数组都不正确-当数组的形状不匹配时,您会得到各种误报和异常。(尽管异常消息告诉您使用any
或all
,但当您遇到其中一个异常时,使用any
或all
很少是正确的操作。通常正确的操作类似于numpy.where
或numpy.array\u equal
)@mikefallopian很高兴这有帮助。Mike,您可能会发现查看array_equal
的代码很有帮助。它首先将输入转换为数组。这是numpy
函数中的一个常见步骤。
if np.array_equal(a,b):
do.stuff()