关于python:将0和1字符串转换为布尔值的最Pythonic方法是什么?

What is the most Pythonic way to convert 0 and 1 strings to boolean?

本问题已经有最佳答案,请猛点这里访问。

我从配置为输入的通用IO(GPIO)中读取一个值,它返回一个0或1的字符串。我看到两种将其转换为布尔值的简单方法:

1
bool(int(input_value))

1
not not int(input_value)

哪一个最像Python?有没有比上面介绍的更多的Python疗法?


有很多种方法,但我想提出以下建议:

1
{'0': False, '1': True}[input_value]

如果您得到的值与您期望的值不同(由于错误、故障、API更改等),这就有了引发异常的优势。

到目前为止提供的所有其他选项都将静默接受任何字符串作为输入。


如果您的input_value必须是"1""0"且您希望布尔值为真(如果是"1"则需要布尔表达式

1
input_value=="1"

例如。

1
bool_var = (input_value=="1")

如果input_value等于"1",这将给予True;如果input_value等于"1",这将给予True;如果False等于"0",这将给予False