Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 超载“==&引用;numpy数组的运算符_Python_Numpy_Operator Overloading - Fatal编程技术网

Python 超载“==&引用;numpy数组的运算符

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粘贴在比较中甚至对数组都不正确-当数组的形状不匹配时,您会得到各种误报

我正在用Python定义一个需要检查的函数

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()