Skip to main content
 首页 » 编程设计

python之为什么这个表达式的计算结果为 false

2025年05月04日14kenshinobiy

我以为 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