gpt4 book ai didi

Python 的 all() 没有给出预期的结果检查小数字列表小于某个值

转载 作者:行者123 更新时间:2023-11-28 22:40:54 25 4
gpt4 key购买 nike

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

vals = [1.2e-5, 1.5e-5, 3.2e-5, 4.5e-5]
for val in vals: print val < 0.001,

输出是True True True True正如预期的那样。

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

是数字格式给它带来了问题还是其他原因?如果我再次这样做但将 vals 列表替换为 vals = [2,2,2,2]并检查 < 3我通过两种方式获得了所需的输出!

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

最佳答案

你的用法是错误的。 all(x < 0.001 for x in vals)应该没问题。

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

关于Python 的 all() 没有给出预期的结果检查小数字列表小于某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33205134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com