有时,DB会返回空元组列表[(), (), ()]
。我需要为这种类型的返回设置False
。这是我的工作:
说:
a = [(), (), ()]
b = all([bool(i) for i in a])
print b
False
有更好的方法吗?
答案 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([(), (), ()])