在 Python 中将字符串转换为布尔值
-
在 Python 中使用
bool()
函数将字符串转换为布尔值 -
在 Python 中使用
distutils.util.strtobool()
函数将字符串转换为布尔值 - 在 Python 中使用列表推导将字符串转换为布尔值
-
在 Python 中使用
map()
和 Lamda 函数将字符串转换为布尔值 - 在 Python 中使用 JSON 解析器将字符串转换为布尔值
-
在 Python 中使用
eval()
函数将字符串转换为布尔值
在编程世界中,程序员必须进行许多数据类型转换,以使其最适合他们的问题陈述。其中一种数据类型是布尔数据类型,具有两个可能的值,真或假。
本教程将介绍在 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。这取决于值是正数还是负数。True
、Yes
和 On
等正值转换为 1,而 False
、No
和 Off
等负值转换为 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()
函数将字符串转换为布尔值
如果给定的字符串是 True
或 False
,也可以使用 eval()
函数。eval()
函数检查给定的字符串。如果字符串合法,则执行;否则,它不会被执行。
例子:
eval("False")
输出:
False
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