检查是否使用Numpy数组定义变量?

Tim*_*Tim 6 python numpy

有时候,我不得不在这里我想测试一个变量是否是一个情况0还是None与否.在纯Python中,这很简单

foo == True
Run Code Online (Sandbox Code Playgroud)

但是当foo可能是Numpy对象(例如numpy.ndarray)时,这不再起作用了,我得到错误:

ValueError: The truth value of an array with more than one element is ambiguous. 
 Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)

在这种情况下我想要a.any(),但是这在非可迭代对象上失败了.

当然,我可以明确地检查,如果foo0None,但我想知道如果有一个更优雅的方式来做到这一点.

如何检查是否有任意对象(可迭代和不可迭代)True

seb*_*erg 2

只需使用np.allornp.any代替该.all方法。np.all如果还不是数组,将创建一个数组。