一尘不染

Python“ all”函数,条件生成器表达式返回True。为什么?

python

谁能帮助我了解为什么以下Python脚本会返回True

x = ''
y = all(i == ' ' for i in x)
print(y)

我想这与x零长度实体有关,但不能完全理解。


阅读 254

收藏
2021-01-20

共1个答案

一尘不染

all()``True 除非 序列中存在元素, 否则 始终返回False

您的循环产生0个项目,因此True返回。

这是记录

返回True如果的所有元素 迭代 是真实的( 或者,如果可迭代为空 )。

强调我的。

同样,any()将始终返回False
除非 序列中的元素为True,所以对于空序列,any()将返回默认值:

>>> any(True for _ in '')
False
2021-01-20