您的代码没有按照您的想法执行.它首先过滤掉一些元素,然后评估一堆索引的真实性.由于所有索引都是严格正数,因此它们都是真实的,并且您的代码始终评估为True.
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