В этой статье я объясню различные методы преобразования строки в логическое значение в Python, например, использование метода bool(), метода eval(), понимания списка, метода лямбда и map(), использования словаря и метода ast.literal_eval().

Boolean — один из встроенных типов данных Python, который может возвращать только два возможных значения: True или False.

Содержание

Метод bool()

В Python функция bool() возвращает логическое значение указанного объекта. Он вернет значение True, если объект пуст, False, 0 и None.

Это полный исходный код Python для преобразования строки в логическое значение с помощью метода bool().

string_value1 = "Good Things Take Time"
string_value2 = ""
boolean_value1 = bool(string_value1)
boolean_value2 = bool(string_value2)

print("After converting the string to boolean:",boolean_value1)
print("After converting the string to boolean:",boolean_value2)

Выход:

After converting the string to boolean: True
After converting the string to boolean: False

На снимке экрана ниже показаны выходные данные программы Python для преобразования строки в логическое значение с помощью метода bool().

Метод bool()

С помощью метода eval()

Функция Python eval() принимает на вход строку и оценивает ее как выражение Python.

Если входная строка может быть оценена как логическое значение, то eval() возвращает логическое значение.

Вот полный код для преобразования строки в логическое значение в Python с использованием метода eval().

string_value = "TRUE"
boolean_value = eval(string_value)

print("After converting the string to boolean:", boolean_value)
print(type(string_value))

Выход:

After converting the string to boolean: True
<class 'str'>

На снимке экрана ниже показан результат преобразования строки в логическое значение в Python с использованием метода eval().

С помощью метода eval()

С использованием понимания списка

Python предоставляет быстрый и эффективный метод создания списков на основе определенных элементов существующего списка, известный как понимание списка.

Когда этот метод в Python используется для преобразования строки в логическое значение, он проверяет только значение True, а остальные значения автоматически преобразуются в логические значения False.

Ниже приведен код Python для преобразования строки в логическое значение с использованием понимания списка.

boolean_list = ["True", "False", "TRUE",
 "FALSE", "true", "false"]

print("The original list : ",
 boolean_list)

result = [element.lower().capitalize() 
 == "True" for element in boolean_list]

print("The converted Boolean values : ", result)

Здесь я использую понимание списка для перебора каждого элемента в данном списке.

Чтобы преобразовать элемент в нижний регистр, а также сделать первый символ элемента прописным, используйте функции Lower() и Capitalize() соответственно.

Сравним полученную строку с boolean_string «True». Если они равны, он возвращает True, указывая логическое значение True; в противном случае он возвращает False.

The original list :  ['True', 'False', 'TRUE', 'FALSE', 'true', 'false']
The converted Boolean values :  [True, False, True, False, True, False]

Выход:

The original list :  ['True', 'False', 'TRUE', 'FALSE', 'true', 'false']
The converted Boolean values :  [True, False, True, False, True, False]

Вы можете обратиться к изображению ниже, чтобы увидеть выходные данные программы Python для преобразования строки в логическое значение с использованием понимания списка.

С использованием понимания списка

С помощью метода Lambda с map()

Lambda с map() — это еще один метод Python для преобразования списка строковых значений в список логических значений. Этот метод включает использование функции map() для применения лямбда-функции к каждому элементу входного списка в Python.

Лямбда-функция принимает аргумент и выполняет определенную операцию с этим аргументом для создания соответствующего логического значения. Результирующее значение объекта карты затем преобразуется в список с помощью функции list().

Это исходный код Python для преобразования строки в логическое значение с использованием методов лямбда и map().

list_boolean = ["True", "True", "False", "FALSE", "true", "false"]

print("Original list : ", list_boolean)
output = list(map(lambda element1: element1.lower().capitalize() == "True", list_boolean))

print("Final outcome which are the Boolean values : ",output)

Выход:

Original list :  ['True', 'Tough', 'False', 'FALSE', 'true', 'false']
Final outcome which are the Boolean values :  [True, False, False, False, True, False]

На снимке экрана ниже можно увидеть выходные данные программы Python для преобразования строки в логическое значение с использованием методов лямбда и map().

С помощью словаря в Python

С помощью словаря

В Python словари хранят значения данных в парах ключ: значение. Словари пишутся с фигурными скобками и имеют ключи и значения. Этот подход позволяет обрабатывать пользовательские или нестандартные строковые значения истинности и преобразовывать их в логические значения.

Код:

input_value = "Yes"
dict_value = {"true": True, "yes": True, "false": False, "no": False}
boolean = dict_value.get(input_value.lower())
print(boolean)

Выход:

True

Вы можете обратиться к снимку экрана ниже, чтобы увидеть результат преобразования строки в логическое значение в Python с использованием словаря.

С помощью словаря в Python

С использованием метода ast.literal_eval()

Python literal_eval — это функция, определенная в классе ast встроенной библиотеки классов. Функция ast.literal_eval() в Python надежно оценивает выражения Python из строк, включая простые литералы, такие как строки, числа и логические значения.

Ниже приведен исходный код Python:

import ast
 
def convert_str_to_bool(str_value):
    try:
        value = ast.literal_eval(str_value)
    except(SyntaxError, ValueError):
        return False
    return bool(value)

string_value1 = 'TRUE'
string_value2 = 'True'
boolean_value1 = convert_str_to_bool(string_value1)
boolean_value2 = convert_str_to_bool(string_value2)
 
print(boolean_value1)
print(boolean_value2)

Выход:

False
True

На снимке экрана ниже показаны выходные данные программы для преобразования строки в логическое значение с помощью ast.literal_eval() в Python.

С помощью метода ast.literal_eval()

Заключение

В этой статье о Python рассматриваются шесть различных методов, таких как использование метода bool(), метода eval(), понимания списка, лямбда-выражения с методом map(), словаря и метода Last.literal_eval().

Добавить комментарий