当我想采用惰性对象模式,并且在某些时候某些功能(用户输入之一)可能是常量功能时,我遇到了这个问题。我想在将函数输入循环之前检查该函数是否恒定。
我当前的解决方案是使用np.allclose
的丑陋解决方法:
def is_constant(func, arr):
return np.allclose(fun(arr), func(arr[0]))
您还可以使用np.maximum == np.minimum
之类的东西,它们的工作速度会稍快一些。
但是我想知道是否有任何快速方法可以做到这一点?由于上面仍然是在一个较大的数组上计算函数。