Сообщить об ошибке.

Преобразование строк в список, кортеж или множество символов

Для преобразования строки в список символов необходимо исходную строку передать в класс list(). Это полезно для каких то преобразований в цикле с отдельными символами в строке (удаление/добавление/изменение) или если нужно отобразить строку наоборот (развернуть строку).

Пример преобразования строки в список символов и совершение различных манипуляции.

>>> line = 'абракадабра'
>>> line_list = list(line)
>>> line_list
# ['а', 'б', 'р', 'а', 'к', 'а', 'д', 'а', 'б', 'р', 'а']

# изменим 4 символ на 'у', добавим в конец 'с' и удалим 1 символ
>>> line_list[3] = 'y'
>>> line_list.append('c')
>>> line_list.pop(0)
>>> line_list
# ['б', 'р', 'y', 'к', 'а', 'д', 'а', 'б', 'р', 'а', 'c']

# развернем строку
>>> rev = list(reversed(line_list))
>>> rev
# ['c', 'а', 'р', 'б', 'а', 'д', 'а', 'к', 'y', 'р', 'б']

# теперь снова получим строку 
>>> line = ''.join(rev)
>>> line
# 'cарбадакyрб'

Преобразование строки в кортеж производится аналогичным способом, только строка передается в класс tuple(). Кортеж это неизменяемый тип данных, следовательно дальнейшие изменения кортежа недоступны.

# преобразование строки в кортеж символов
>>> line = 'абракадабра'
>>> line_tuple = tuple(line)
>>> line_tuple
# ('а', 'б', 'р', 'а', 'к', 'а', 'д', 'а', 'б', 'р', 'а')

# теперь снова получим строку 
>>> line = ''.join(line_tuple)
# 'абракадабра'

Преобразование строки в множество полезно, когда необходимо получить уникальные символы в строке (без повторов). Обратите внимание на то, что после преобразования строки в множество порядок следования символов не сохраняется!

# преобразование строки в множество символов
>>> line = 'абракадабра'
>>> line_set = set(line)
>>> line_set
# {'р', 'а', 'б', 'д', 'к'}

Преобразование символов строки в код ASCII и обратно.

В Python есть возможность выполнить преобразование одиночного символа в его целочисленный код ASCII, для чего нужно передать этот символ функции ord(), она возвращает фактическое числовое значение соответствующего байта в памяти. Обратное преобразование выполняется с помощью функции chr(), она получает целочисленный код ASCII и преобразует его в соответствующий символ:

>>> ord('s')
# 115
>>> chr(115)
# 's'

Эти функции можно применить ко всем символам строки в цикле. Например, чтобы получить следующий по алфавиту символ, его можно преобразовать в число и выполнить математическое действие над ним:

>>> x = 'А'
>>> y = ord(x) + 1
>>> chr(y)
# 'Б'