我以为 range() 会返回一个数字列表。为什么 all() 函数为此返回 false
all(range(100))
请您参考如下方法:
你的range(100)包含0,0的 bool 值为False:
In [1]: bool(0)
Out[1]: False
而对于任何其他数字,它的计算结果为 True。函数 all 仅在其参数的所有元素都计算为 True 时返回 True,请参阅其 manual (给定示例中的 if 语句隐含地采用每个项目的 bool 值)。看这里有无0的区别:
In [2]: all(range(10)) # 0..9
Out[2]: False
In [3]: all(range(1,10)) # 1..9
Out[3]: True
