内置 all() 函数不在负数列表上返回 True

Built-in all() function not returning True on a list of negative numbers

为什么?这不应该是真的吗?

>>> sub = [-1,-2,-3,-4,-5,-6]
>>> print all(sub) < 0
False
>>>

all(sub) returns True 因为 sub 的所有元素都是非零的。
True 不小于零。
因此 all(sub) < 0 为假。

如果你想测试 sub 的所有元素是否都是负数,你可以这样做:

all(x < 0 for x in sub)

@khelwood 的回答是正确的。但是,您也可以根据需要使用 numpy。

sub = np.asarray(sub)
np.all(sub<0)