内置 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)
为什么?这不应该是真的吗?
>>> 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)