在 Python 中將字串轉換為布林值

Lakshay Kapoor 2023年1月30日 2021年7月13日
  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 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