【问题标题】:Evaluate boolean tuple in Python在 Python 中计算布尔元组
【发布时间】:2015-01-13 20:30:02
【问题描述】:

我试图让它评估为假。

(False,)

目前等于 true,因为我认为元组不为空。 那么如何将其提取或转换为布尔值呢? 谢谢~

【问题讨论】:

  • 如果元组中有多个值,答案应该如何表现?
  • 像这样 (False,)[0] ?
  • @Thibaut 那是不可能的。它是从布尔 sql 查询返回的。

标签: python python-2.7 boolean boolean-logic boolean-expression


【解决方案1】:

从元组中提取元素是最简单的方法:

value = (False,)[0]

Python2 更宽松,但一般而言,将元组视为单个值进行比较并不是一个好习惯(Python3 明确禁止它)

相反,看看

all

any

此行为的函数。与往常一样,文档是您的朋友:

https://docs.python.org/2/library/functions.html#all

【讨论】:

  • 谢谢,第二次 python-ing。没想到会这样哈哈。当我尝试使用 for 循环时,它给了我一个奇怪的错误。我会尽快标记您的答案.....
  • 编辑:哦,你的意思是你不能再使用 <> 等将元组与 int 或浮点数进行比较。我想这已经足够了。
  • @DSM 这就是我的意思 - 它只是作为如何将列表与非列表进行比较的示例,以及为什么说“mylist == True”可能不是一个好主意" 或类似的,即使它在某些情况下会起作用。我认为可以得到“数组的真值不明确”或类似内容的错误非常有帮助
猜你喜欢
  • 1970-01-01
  • 2018-03-05
  • 2017-07-30
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-27
相关资源
最近更新 更多