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

См. также

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.