Pythonには、空行列とゼロ行列Noneを判断するために、all()、numpyを含むany()、および形状が付属しています。

基本的にany()、OR演算がall()実現されAND演算実現されます。

any(iterables)とall(iterables)は、2つのオブジェクトの同等性をチェックするのに非常に便利ですが、any and allは組み込みのPython関数であり、numpyにもany andallの独自の実装があることに注意してください。組み込みのPythonと同じですが、numpy.ndarrayタイプが追加されています。Pythonの組み込みndarrayは1次元以上のndarrayを理解できないため、numpyに基づく計算では、numpy独自のすべての実装を使用するのが最適です。


参照:https://blog.csdn.net/cython22/article/details/78829288

最初に空行列処理を使用します。

>>> import numpy as np
>>> a=np.array([])
>>> any(a)
False
>>> all(a)
True
>>> np.any(a)
False
>>> np.all(a)
True

さまざまな状況でのゼロ行列処理:

>>> b=np.array([0])
>>> any(b)
False
>>> all(b)
False
>>> np.any(b)
False
>>> np.all(b)
False
>>> c=np.array([[0,0]])
>>> any(c)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous.
 Use a.any() or a.all()
>>> c.any()
False
>>> c.all()
False
>>> np.any(c)
False
>>> np.all(c)
False

返品なしについて:

>>> a==None
array([], dtype=bool)

>>> b==None
array([False])

>>> c==None
array([[False, False]])

形状復帰については、最も信頼できると判断するために使用されます。

おすすめ

転載: blog.csdn.net/qq_36401512/article/details/105533919