在 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