如何在Python中将数字1转换为布尔值

33

我看到过类似的问题,但没有一个回答了我的问题。我对Python相对陌生,不知道该怎么做。


除非您不想明确使用布尔类型变量,否则您不需要这样做。Python在许多表达式中将其接受为True。 - Geeocode
bool(1) returns True - Joel
1
可能是重复的问题:python:将1/0列表转换为布尔列表 - user6655984
5个回答

47

使用:

>>> bool(1)
True
>>> bool(0)
False
>>> int(bool(1))
1
>>> int(bool(0))
0

也可以转换回去。

或者一个聪明的技巧可能会更快:

>>> not not 1
True
>>> not not 0
False
>>> 

转换回去:

>>> int(not not 1)
1
>>> int(not not 0)
0
>>> 

9

当作为参数传递给bool()函数时,只有以下值会返回False:

  • None
  • False
  • 任何数字类型的零。例如:0、0.0、0j
  • 空序列。例如:()、[]、''。
  • 空映射。例如:{}
  • 具有返回0或False的bool()或len()方法的类的对象

其他所有值都将返回True。

来源1 来源2


4

除非你需要显式地使用Boolean类型变量,否则你不需要这样做。在许多表达式中,Python将其接受为True

print(True == 1)
print(False == 0)

输出:

True
True

在其他情况下,你当然可以使用bool(1)。
print(bool(1))
print(bool(0))

输出:

True
False

3
非常简单:
bool(1)

以下是几个场景,以示说明:
print(bool(1))

将返回:真

print(bool(0))

将返回:False


挑剔一下:bool(1) 返回 True,而 print(bool(1)) 则会打印出 "True"。 - tedtanner

1

1 转换为布尔类型:

print(bool(1))

这将返回True


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接