Set в Python — это структура данных, которая используется для хранения уникальных элементов. Строка представляет собой массив байтов, представляющих символы Юникода. Python не имеет встроенного символьного типа данных, поэтому одиночный символ — это всего лишь строка длиной 1.
Преобразование набора Python в строку
Чтобы преобразовать множество Python в строку, используйте один из следующих методов:
- метод str()
- функция string.join()
- метод Python repr().
Метод str() возвращает строковую версию объекта. См. следующий синтаксис метода str().
Синтаксис
|
1 |
str(object, encoding=’utf-8?, errors=’strict’) |
Параметры
- object: объект, строковое представление которого должно быть возвращено.
- encoding: кодировка данного объекта.
- errors: ответ при сбое декодирования.
Возвращаемое значение
Возвращает строковую версию данного объекта.
Пример
|
1 2 3 4 5 6 7 8 |
set = {'Vlad', 'Alucard', 'Trevor', 'Isaac', 'Lisa'} print(set) print(type(set)) print("After the conversion") string = str(set) print(string) print(type(string)) |
Вывод:
|
1 2 3 4 5 |
{'Trevor', 'Alucard', 'Isaac', 'Vlad', 'Lisa'} <class 'set'> After the conversion {'Trevor', 'Alucard', 'Isaac', 'Vlad', 'Lisa'} <class 'str'> |
В этом примере мы определили множество и используем функцию type() для проверки типа данных переменной.
С помощью функции str() мы преобразовали множество в строку.
Преобразование с помощью функции join()
Python string join() — это встроенная функция, которая возвращает строку, в которой элементы последовательности соединены разделителем str.
Синтаксис
|
1 |
string.join(iterable) |
Параметры
Метод join() принимает итерируемый объект, такой как list, tuple, dict или set.
Пример
|
1 2 3 4 5 6 7 8 |
set = {'Vlad', 'Alucard', 'Trevor', 'Isaac', 'Carmilla'} print(set) print(type(set)) print("After the conversion") string = ', '.join(set) print(string) print(type(string)) |
Вывод:
|
1 2 3 4 5 |
{'Isaac', 'Trevor', 'Carmilla', 'Vlad', 'Alucard'} <class 'set'> After the conversion Isaac, Trevor, Carmilla, Vlad, Alucard <class 'str'> |
Использование метода repr()
Python repr() — это встроенная функция, которая возвращает печатное представление данного объекта. Чтобы безопасно оценить узел выражения или строку в кодировке Unicode, содержащую выражение из ненадежных источников, без необходимости самостоятельно анализировать значения, используйте функцию ast.literal_eval().
|
1 2 3 4 5 6 7 8 |
set = {'Vlad', 'Alucard', 'Trevor', 'Isaac', 'Carmilla'} print(set) print(type(set)) print("After the conversion") string = repr(set) print(string) print(type(string)) |
Вывод:
|
1 2 3 4 5 |
{'Vlad', 'Alucard', 'Trevor', 'Carmilla', 'Isaac'} <class 'set'> After the conversion {'Vlad', 'Alucard', 'Trevor', 'Carmilla', 'Isaac'} <class 'str'> |
Когда результат repr() передается в функцию ast.literal_eval(), она возвращает исходный объект, и в нашем случае это будет множество. Чтобы использовать функцию literal_eval(), импортируйте модуль ast.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import ast set = {'Vlad', 'Alucard', 'Trevor', 'Isaac', 'Carmilla'} print(set) print(type(set)) print("After the conversion") string = repr(set) print(string) print(type(string)) print("Again after conversion") st = ast.literal_eval(string) print(st) print(type(st)) |
Вывод:
|
1 2 3 4 5 6 7 8 |
{'Isaac', 'Trevor', 'Vlad', 'Alucard', 'Carmilla'} <class 'set'> After the conversion {'Isaac', 'Trevor', 'Vlad', 'Alucard', 'Carmilla'} <class 'str'> Again after conversion {'Trevor', 'Isaac', 'Vlad', 'Alucard', 'Carmilla'} <class 'set'> |
Сначала мы определили набор и преобразовали его в строку с помощью функции repr(), а затем в финальном выводе мы получили исходный объект набора. И str(), и repr() используются для получения строкового представления объекта.
Str() используется для создания вывода для конечного пользователя, а repr() в основном используется для отладки и разработки. Функция repr() должна быть однозначной, а функция str() — читаемой.
