简体   繁体   English

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

[英]Best way to return False for list of empty tuples

Sometimes, DB returns list of empty tuples as such [(), (), ()] . 有时,DB返回空元组的列表,如[(), (), ()] I need to set False for this type of return. 我需要为这种类型的返回设置False Here is what I do: 这是我做的:

Say: 说:

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

Is there a better way? 有没有更好的办法?

Actually, you want to use any , not all : 实际上,你想要使用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
>>>

Notice that all will return False unless every element is "truthy". 请注意,除非每个元素都是“真实的”,否则all将返回False

You don't need to use bool at all. 你根本不需要使用bool

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM