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'