str.maketrans()
Статический метод maketrans() создаёт таблицу преобразования символов, которую затем использует метод str.translate(). Таблица представляет собой словарь, где ключи — числовые коды исходных символов (Unicode), а значения — коды символов-замен (либо None для удаления).
Сигнатура
str.maketrans(x)
str.maketrans(x, y)
str.maketrans(x, y, z)
Параметры
x— либо словарь{код: замена}, либо строка с символами, которые нужно заменить.y— строка-замена той же длины, чтоx(используется, еслиx— строка).z— строка с символами, которые нужно удалить.
Возвращаемое значение
Словарь, пригодный для передачи в str.translate().
Примеры использования
Пример 1. Замена символов один-в-один.
table = str.maketrans("aeiou", "12345")
print("arduino".translate(table))
1rd45n4
Пример 2. Транслитерация кириллицы (простая).
table = str.maketrans("абвгдеж", "abvgdez")
print("давайте".translate(table))
davayte
Пример 3. Удаление символов.
table = str.maketrans("", "", "0123456789")
print("Arduino UNO R3 2024".translate(table))
Arduino UNO R
Пример 4. Таблица через словарь.
table = str.maketrans({"a": "@", "i": "1", "o": "0"})
print("alashed".translate(table))
@l@shed
Пример 5. Очистка строки от знаков препинания.
import string
table = str.maketrans("", "", string.punctuation)
text = "Hello, AlashEd! Welcome..."
print(text.translate(table))
Hello AlashEd Welcome
См. также
str.translate() — применение таблицы перевода
str.replace() — простая замена подстрок
Примечание
Лицензия и источники
Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.