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'}
>>> str = 'таблицу преобразования символов'
>>> tbl = str.maketrans(x)
# преобразование строки происходит
# согласно словарю `x`
>>> str.translate(tbl)
# 'т0186цу пр591р0з920н6я с6м29892'
>>> x = 'абвгдеикло'
>>> y = '0123456789'
>>> z = 'цуя'
>>> str = 'таблицу преобразования символов'
>>> tbl = str.maketrans(x, y, z)
# преобразование строки происходит
# согласно спискам `x`, `y`, `z`
>>> str.translate(tbl)
# 'т0186 пр591р0з920н6 с6м29892'