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

Метод str.translate() в Python, транслирование строки

Транслировать текст по определенной схеме

Синтаксис:

str.translate(table)

Параметры:

  • table - сопоставление, полученное методом str.maketrans().

Возвращаемое значение:

Описание:

Метод str.translate() возвращает копию строки, в которой каждый символ был сопоставлен и преобразован согласно карте перевода символов table.

Таблица (карта) перевода table должна быть объектом, реализующим индексирование через __getitem__(), обычно это сопоставление (словарь) или последовательность. При индексировании по порядковому номеру таблицы Юникода (целому числу), объект table может выполнять любое из следующих действий:

  • возвращать порядковый номер Юникода или строку, чтобы сопоставить символ одному или нескольким другим символам;
  • возвращать None, чтобы удалить символ из возвращаемой строки;
  • вызывать исключение LookupError, чтобы сопоставить символ самому себе.

Для создания карты преобразования символов в различные форматы можно использовать метод строки str.maketrans().

Примеры транслирования текста по определенной схеме.

>>> x = {'а': '0', 'б': '1', 'в': '2', 'г': '3', 'д': '4', 
        'е': '5', 'и': '6', 'к': '7', 'л': '8', 'о': '9'}
>>> line = 'таблицу преобразования символов'
>>> tbl = line.maketrans(x)
# преобразование строки происходит 
# согласно словарю `x`
>>> line.translate(tbl)
# 'т0186цу пр591р0з920н6я с6м29892'

>>> x = 'абвгдеикло'
>>> y = '0123456789'
>>> z = 'цуя'
>>> line = 'таблицу преобразования символов'
>>> tbl = line.maketrans(x, y, z)
# преобразование строки происходит 
# согласно спискам `x`, `y`, `z`
>>> line.translate(tbl)
# 'т0186 пр591р0з920н6 с6м29892'