在 Python 中将字符串转换为布尔值

Lakshay Kapoor 2023年1月30日
  1. 在 Python 中使用 bool() 函数将字符串转换为布尔值
  2. 在 Python 中使用 distutils.util.strtobool() 函数将字符串转换为布尔值
  3. 在 Python 中使用列表推导将字符串转换为布尔值
  4. 在 Python 中使用 map() 和 Lamda 函数将字符串转换为布尔值
  5. 在 Python 中使用 JSON 解析器将字符串转换为布尔值
  6. 在 Python 中使用 eval() 函数将字符串转换为布尔值
在 Python 中将字符串转换为布尔值

在编程世界中,程序员必须进行许多数据类型转换,以使其最适合他们的问题陈述。其中一种数据类型是布尔数据类型,具有两个可能的值,真或假。

本教程将介绍在 Python 中将字符串转换为布尔值的不同方法。

在 Python 中使用 bool() 函数将字符串转换为布尔值

我们可以传递一个字符串作为函数的参数,将字符串转换为布尔值。此函数为每个非空参数返回 true,为空参数返回 false。

示例 1:

string_value = "Hello"
boolean_value = bool(string_value)

print(boolean_value)

输出:

True

示例 2:

string_value = ""
boolean_value = bool(string_value)

print(boolean_value)

输出:

False

在 Python 中使用 distutils.util.strtobool() 函数将字符串转换为布尔值

此函数将字符串值转换为 1 或 0。这取决于值是正数还是负数。TrueYesOn 等正值转换为 1,而 FalseNoOff 等负值转换为 0。

例子:

String_value = distutils.util.strtobool("Yes")
print(String_value)

输出:

1

要将输出转换为布尔值,请使用 bool() 函数。

Boolean_value = bool(String_value)

输出:

True

在 Python 中使用列表推导将字符串转换为布尔值

在此方法中,只检查一个值,true 或 false;另一个值自动落入与检查相反的值。

例子:

String_list = ["False", "True", "False", "False", "True"]
print(str(String_list))

boolean_list = [ele == "True" for ele in String_list]

print(str(boolean_list))

在这里,检查假值,那些非假值属于真值。

在 Python 中使用 map() 和 Lamda 函数将字符串转换为布尔值

map() 函数用于将转换函数应用于迭代中的每个项目,并在转换后形成新的迭代。

Lambda 函数是 Python 中的匿名函数。每当在程序中声明匿名函数时,我们都会使用关键字 lambda

例子:

String_list = ["False", "True", "False", "False", "True"]
print(str(String_list))

Boolean_list = list(map(lambda ele: ele == "True", String_list))


print(str(Boolean_list))

输出:

[False, True, False, False, True]

我们也将列表推导作为主要方法,但这里的不同之处在于我们使用了 map() 函数来创建列表,并使用匿名函数来检查 String_list。

在 Python 中使用 JSON 解析器将字符串转换为布尔值

JSON 解析器对于字符串到 Python 数据类型的基本转换也很有用。JSON 字符串的解析是在 json.loads() 方法的帮助下完成的。

例子:

import json

json.loads("true".lower())

输出:

True

此外,这可以仅使用小写字母即 .lower() 而不是大写字母来执行。

在 Python 中使用 eval() 函数将字符串转换为布尔值

如果给定的字符串是 TrueFalse,也可以使用 eval() 函数。eval() 函数检查给定的字符串。如果字符串合法,则执行;否则,它不会被执行。

例子:

eval("False")

输出:

False
作者: Lakshay Kapoor
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

相关文章 - Python Boolean

相关文章 - Python String