为空元组列表返回False的最佳方法

时间:2014-02-28 19:42:57

标签: python list boolean

有时,DB会返回空元组列表[(), (), ()]。我需要为这种类型的返回设置False。这是我的工作:

说:

a = [(), (), ()]
b = all([bool(i) for i in a])
print b
False

有更好的方法吗?

2 个答案:

答案 0 :(得分:6)

实际上,您要使用any,而不是all

>>> a = [(), (), ()]
>>> b = all(a)
>>> print b
False
>>>

>>> a = [(), (1,), ()]
>>> b = all(a)
>>> print b
False
>>>

>>> a = [(), (), ()]
>>> b = any(a)
>>> print b
False
>>>

>>> a = [(), (1,), ()]
>>> b = any(a)
>>> print b
True
>>>

请注意all将返回False,除非每个元素都是“真实的”。

您根本不需要使用bool

答案 1 :(得分:5)

使用any()检查是否有非空。

any([(), (), ()])