- Python String maketrans() Method
- Definition and Usage
- Syntax
- Parameter Values
- More Examples
- Example
- Example
- Example
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
- Метод maketrans() и translate() в Python
- Параметры строки
- Возвращаемое значение
- Пример 1: Таблица перевода с использованием словаря
- Пример 2: Таблица перевода с использованием двух строк
- Пример 3: Трансляционная таблица со съемной строкой
- Параметры
- Возвращаемое значение
- Пример 1: Перевод и отображение с использованием таблицы перевода
- Пример 2: с таблицей ручного перевода
Python String maketrans() Method
Create a mapping table, and use it in the translate() method to replace any «S» characters with a «P» character:
Definition and Usage
The maketrans() method returns a mapping table that can be used with the translate() method to replace specified characters.
Syntax
Parameter Values
Parameter | Description |
---|---|
x | Required. If only one parameter is specified, this has to be a dictionary describing how to perform the replace. If two or more parameters are specified, this parameter has to be a string specifying the characters you want to replace. |
y | Optional. A string with the same length as parameter x. Each character in the first parameter will be replaced with the corresponding character in this string. |
z | Optional. A string describing which characters to remove from the original string. |
More Examples
Example
Use a mapping table to replace many characters:
Example
The third parameter in the mapping table describes characters that you want to remove from the string:
txt = «Good night Sam!»
x = «mSa»
y = «eJo»
z = «odnght»
mytable = str.maketrans(x, y, z)
print(txt.translate(mytable))
Example
The maketrans() method itself returns a dictionary describing each replacement, in unicode:
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Метод maketrans() и translate() в Python
Метод maketrans() string возвращает таблицу сопоставления для перевода, используемую для метода translate().
Проще говоря, метод ‒ это статический метод, который создает взаимно однозначное отображение символа на его перевод/замену.
Он создает представление Unicode для каждого символа для перевода.
Это сопоставление перевода затем используется для замены символа на его сопоставленный символ при использовании в методе translate().
Здесь y и z ‒ необязательные аргументы.
Параметры строки
Метод в Python принимает 3 параметра:
- x ‒ если указан только один аргумент, это должен быть словарь. Он должен содержать преобразование 1 к 1 одной символьной строки или номер Unicode (97 для ‘a’) на ее перевод.
- y ‒ если переданы два аргумента, это должны быть две строки одинаковой длины. Каждый символ в первой строке является заменой соответствующего индекса во второй строке.
- z ‒ если переданы три аргумента, каждый символ в третьем аргументе отображается в None.
Возвращаемое значение
Модуль возвращает таблицу перевода с отображением 1 к 1 порядкового номера Unicode в его перевод/замену.
Пример 1: Таблица перевода с использованием словаря
# example dictionary dict = string = "abc" print(string.maketrans(dict)) # example dictionary dict = string = "abc" print(string.maketrans(dict))
Здесь определяется словарь dict . Он содержит отображение символов a, b и c на 123, 456 и 789 соответственно.
Функция создает отображение порядкового номера Unicode символа в его соответствующий перевод.
Итак, 97 (‘a’) отображается в ‘123’, 98 ‘b’ в 456 и 99 ‘c’ в 789. Это может быть продемонстрировано на выходе обоих словарей.
Кроме того, если в словаре отображаются два или более символа, возникает исключение.
Пример 2: Таблица перевода с использованием двух строк
# first string firstString = "abc" secondString = "def" string = "abc" print(string.maketrans(firstString, secondString)) # example dictionary firstString = "abc" secondString = "defghi" string = "abc" print(string.maketrans(firstString, secondString))
ValueError: the first two maketrans arguments must have equal length
Здесь сначала определяются две строки равной длины abc и def. И создается соответствующий перевод.
Печать только первого перевода дает соответствие 1 к 1 порядковому номеру каждого символа в Unicode в firstString и тому же индексированному символу на secondString .
В этом случае 97 (‘a’) отображается в 100 (‘d’), 98 (‘b’) в 101 (‘e’) и 99 (‘c’) в 102 (‘f’).
При попытке создать таблицу перевода для строк неравной длины возникает исключение ValueError, указывающее, что строки должны иметь одинаковую длину.
Пример 3: Трансляционная таблица со съемной строкой
# first string firstString = "abc" secondString = "def" thirdString = "abd" string = "abc" print(string.maketrans(firstString, secondString, thirdString))
Здесь сначала создается сопоставление между двумя строками firstString и secondString .
Затем третий аргумент thirdString сбрасывает отображение каждого символа в нем на None, а также создает новое отображение для несуществующих символов.
В этом случае thirdString сбрасывает отображение 97 (‘a’) и 98 (‘b’) в None, а также создает новое отображение для 100 (‘d’), отображаемое в None.
Метод string translate() возвращает строку, в которой каждый символ сопоставлен с соответствующим символом в таблице перевода.
Метод в Python использует таблицу перевода для замены/перевода символов в данной строке в соответствии с таблицей сопоставления.
Таблица трансляции создается статическим методом maketrans().
Параметры
Метод принимает единственный параметр:
- table ‒ таблица трансляции, содержащая отображение между двумя символами; обычно создается maketrans().
Возвращаемое значение
Команда возвращает строку, в которой каждый символ сопоставляется с соответствующим символом в соответствии с таблицей перевода.
Пример 1: Перевод и отображение с использованием таблицы перевода
# first string firstString = "abc" secondString = "ghi" thirdString = "ab" string = "abcdef" print("Original string:", string) translation = string.maketrans(firstString, secondString, thirdString) # translate string print("Translated string:", string.translate(translation))
Original string: abcdef Translated string: idef
Но строка удаления thirdString сбрасывает сопоставление на a, а b на None.
Итак, когда строка переводится с помощью translate(), a и b удаляются, а c заменяется i, выводя idef.
Пример 2: с таблицей ручного перевода
# translation table - a dictionary translation = string = "abcdef" print("Original string:", string) # translate string print("Translated string:", string.translate(translation))
Original string: abcdef Translated string: idef
Здесь мы не создаем таблицу перевода из maketrans(), а вручную создаем перевод словаря сопоставления.
Затем этот перевод используется для перевода строки, чтобы получить тот же результат, что и в предыдущем примере.