gpt4 book ai didi

python - Python 中的 all() 函数何时打印 False?

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:45 26 4
gpt4 key购买 nike

x = [0, 1, -2, 3, 4, 5]
all ([i for i in range (1, len(x)) if x [i-1] < x[i]]) ?

为什么这段代码打印出True
1 > -2 所以它应该打印 False 我想。

最佳答案

您的代码并没有按照您的想法行事。它首先过滤掉一些元素,然后评估一堆索引的真实性。由于所有索引都严格为正,因此它们都是真实的,您的代码的计算结果始终为 True

从你的描述来看,你实际上想做的是:

>>> all(x[i-1] < x[i] for i in range (1, len(x)))
False

这会遍历所有成对的连续元素并检查第一个元素是否小于第二个。

另一种写法是:

>>> all(a < b for (a, b) in zip(x, x[1::]))
False

关于python - Python 中的 all() 函数何时打印 False?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41590177/

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