В этой статье я объясню различные методы преобразования строки в логическое значение в Python, например, использование метода bool(), метода eval(), понимания списка, метода лямбда и map(), использования словаря и метода ast.literal_eval().
Boolean — один из встроенных типов данных Python, который может возвращать только два возможных значения: True или False.
- Метод bool()
- С помощью метода eval()
- С использованием понимания списка
- С помощью метода Lambda с map()
- С помощью словаря
- С использованием метода ast.literal_eval()
- Заключение
Метод 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().
С помощью метода 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().
С использованием понимания списка
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 словари хранят значения данных в парах ключ: значение. Словари пишутся с фигурными скобками и имеют ключи и значения. Этот подход позволяет обрабатывать пользовательские или нестандартные строковые значения истинности и преобразовывать их в логические значения.
Код:
input_value = "Yes" dict_value = {"true": True, "yes": True, "false": False, "no": False} boolean = dict_value.get(input_value.lower()) print(boolean)
Выход:
True
Вы можете обратиться к снимку экрана ниже, чтобы увидеть результат преобразования строки в логическое значение в 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.
Заключение
В этой статье о Python рассматриваются шесть различных методов, таких как использование метода bool(), метода eval(), понимания списка, лямбда-выражения с методом map(), словаря и метода Last.literal_eval().