【问题标题】:Best way to return False for list of empty tuples为空元组列表返回 False 的最佳方法
【发布时间】:2014-04-02 00:02:25
【问题描述】:

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

说:

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

有没有更好的办法?

【问题讨论】:

  • 你做错了。当您使用all 时,即使只有一个元组为空,您也会得到False

标签: python list boolean


【解决方案1】:

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

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

【讨论】:

  • 我需要返回 False,只有当所有元组都是空的但 tx。
  • @dt1369:你可能想自己测试一下。
  • 同意。谢谢你。我应该测试过
【解决方案2】:

其实你想用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

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 2015-08-13
    • 2019-05-10
    • 2018-03-02
    • 2013-06-11
    • 2020-04-07
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    相关资源
    最近更新 更多