Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python';s all()未给出检查小数值列表小于某个值的预期结果_Python_Function_Built In - Fatal编程技术网

Python';s all()未给出检查小数值列表小于某个值的预期结果

Python';s all()未给出检查小数值列表小于某个值的预期结果,python,function,built-in,Python,Function,Built In,在python控制台(使用2.7)中,如果我输入以下代码: vals = [1.2e-5, 1.5e-5, 3.2e-5, 4.5e-5] for val in vals: print val < 0.001, vals=[1.2e-5,1.5e-5,3.2e-5,4.5e-5] 对于val中的val:打印val

在python控制台(使用2.7)中,如果我输入以下代码:

vals = [1.2e-5, 1.5e-5, 3.2e-5, 4.5e-5]
for val in vals: print val < 0.001,
vals=[1.2e-5,1.5e-5,3.2e-5,4.5e-5]
对于val中的val:打印val<0.001,
输出为预期的
True

但是!这是我的问题,如果我尝试
all(vals)<0.001
它会返回false吗

是数字格式给它带来了问题还是别的什么?如果我再次执行此操作,但将VAL列表替换为
VAL=[2,2,2,2]
,并检查
<3
,我将以两种方式获得所需的输出

编辑 有用的答案,值得注意的是所有([0.1,0.1,0.1])的计算结果都是True,但是0.1==True的计算结果是False?这是怎么回事?“非零”值的计算结果是否为真,但实际上不是真的?

all(vals)
检查所有值是否为布尔真(即非零)。这是真的。True不小于
0.001


我想您想要的是
all(val中的val为val<0.001)

您的用法是错误的<代码>全部(对于VAL中的x,x<0.001)应正常


all(vals)<0.001
将检查所有
vals
是否真实,然后将得到的
True
False
结果与
0.001
进行比较,这很奇怪。

check@sam2090最疯狂的是我实际上已经读过了,但我仍然看不出我做错了什么!!我猜是因为盯着什么东西看太久了。现在一切都好了!你是正确的,我没有正确地使用它,但是你可以添加关于我添加到我的问题中的编辑的任何信息吗?你是正确的,我没有正确地使用它,但是你可以添加关于我添加到我的问题中的编辑的任何信息吗?
int(True)==1
<代码>整数(假)=0。因此,
True==1
False==0
。这与
<0.001
的关系现在应该很明显:)@Amadan:您甚至不需要
int
调用,因为
bool
int
的子类
True==1
is
True
@Blckknght:是的;我写这封信是为了让这一点失去意义;但我的意思是,如果您计算
int(True)
,您可以在控制台中看到它打印
1
@Blckknght知道它是int的一个子类很酷,肯定会让事情变得显而易见。也感谢阿玛丹的澄清