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

时间:2016-07-28 14:43:49

标签: python built-in

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

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

2 个答案:

答案 0 :(得分:6)

all(sub)返回True,因为sub的所有元素都是非零的。 真不低于零。 因此,所有(子)&lt; 0是假的。 如果你想测试sub的所有元素是否为负数,你会这样做: all(对于x中的x,x <0)

答案 1 :(得分:2)

@ khelwood的回答是正确的。但是,你也可以将numpy用于你想要的东西。

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