Python“;“全部”;条件生成器表达式返回True的函数。为什么?
有人能帮我理解为什么下面的Python脚本返回Python“;“全部”;条件生成器表达式返回True的函数。为什么?,python,python-3.x,generator,Python,Python 3.x,Generator,有人能帮我理解为什么下面的Python脚本返回True x = '' y = all(i == ' ' for i in x) print(y) 我想这与x是一个零长度实体有关,但不能完全理解。all()总是返回True,除非序列中有一个元素False 循环生成0项,因此返回True 这是: 如果iterable的所有元素都为True(或iterable为空,则返回True) 我的 类似地,将始终返回False,除非序列中的元素为True,因此对于空序列,any()将返回默认值: >&g
True
x = ''
y = all(i == ' ' for i in x)
print(y)
我想这与x
是一个零长度实体有关,但不能完全理解。all()
总是返回True
,除非序列中有一个元素False
循环生成0项,因此返回True
这是:
如果iterable的所有元素都为True(或iterable为空,则返回True
)
我的
类似地,将始终返回False
,除非序列中的元素为True
,因此对于空序列,any()
将返回默认值:
>>> any(True for _ in '')
False
如上所述,all
所做的是:
如果iterable的所有元素都为True(或者iterable为空),则返回True