python教程,如何理解all()函数?元素是否全部非空?
发布于 作者:苏南大叔 来源:程序如此灵动~

python
代码中,all()
函数和any()
非常类似。all()
是用于判断,类数组变量中的所有元素,是否全部非空。“空”的范围是:0
,False
,None
(Null
),空字符串。全部非空,返回True
,否则返回False
。

苏南大叔的“程序如此灵动”技术博客,记录苏南大叔的代码经验总结。本文测试环境:win10
,python@3.11.0
,numpy@1.24.2
。值得特别说明的是:Python
中的Null
就是None
,没有直接Null
的表述。
all()普通检测
本文的行文侧重点是python
自带的all()
,numpy
中的all()
仅仅是做简单的对比,后续会单独成篇。all()
判断一个类数组里面的成员是否全非空(0
,False
,None
/Null
,空字符串)。这个就可以理解为and
操作,有一个为空,则整体即为空。
下面的代码显示:all()
可以正确处理list
/tuple
/set
以及一维的ndarray
。
测试代码:

all()检测 ndarray
然而,到了二维ndarray
,all()
就开始报错了。
报错信息如下:
推荐使用的是:_ndarray.all()
,它返回的是第一个不为空的元素。(似乎和_ndarray.any()
的返回值一致)
本文不会对_ndarray.all()
的使用情况,做更进一步的阐述。只需要知道的是:这个numpy
的.all()
和.any()
,和看起来的并不一样。有很多意料之外之处。
all()检查空数组
对于空的类数组,all()
检测是否全部元素不为空。事实上,一个元素都没有,所以必然“全部”元素不为空了。所以,全体返回值True
。【这个解释纯属一念之间的事情...咋解释都对...】
相关文章
- https://newsn.net/say/python-tuple.html
- https://newsn.net/say/ndarray-list.html
- https://newsn.net/say/python-any.html
结束语
python
自带的all()
函数,可以用于检测list
/tuple
/set
以及一维的ndarray
中是否全部元素非空。这里的“空”指的是:0
,False
,None
(Null
),空字符串。Python
中的None
就是其它语言里面的Null
。
而对于ndarray
类型,自带的all()
仅仅可以用于判断一维的情况。所以,推荐使用基于numpy
的两个.all()
做类似判断,留作后续文章连载。这里特别说一下:自带的all()
和numpy
的两个.all()
的返回值也是不一样的。
苏南大叔的更多python
精彩文章,请点击:


