Метода стринг макетранс () враћа табелу мапирања за превод употребљиву за методу транслате ().
Једноставно речено, maketrans()метода је статична метода која креира једно према једно мапирање лика до његовог превођења / замене.
Ствара Уницоде представу сваког знака за превод.
Ово мапирање превода се затим користи за замену знака на његов мапирани знак када се користи у методи транслате ().
Синтакса maketrans()методе је:
стринг.макетранс (к (, и (, з)))
Овде су и и з необавезни аргументи.
Параметри низа макетранс ()
maketrans() метода узима 3 параметра:
- к - Ако је наведен само један аргумент, то мора бити речник.
Речник треба да садржи мапирање 1: 1 из низа једног знака у његов превод ИЛИ Уницоде број (97 за 'а') у његов превод. - и - Ако се предају два аргумента, то морају бити два низа једнаке дужине.
Сваки знак у првом низу је замена за његов одговарајући индекс у другом низу. - з - Ако се предају три аргумента, сваки знак у трећем аргументу пресликава се у Ништа.
Повратна вредност из Стринг макетранс ()
maketrans()Метод враћа табелу превода са мапирање Уницоде редном њеног превода / замена 1-на-1.
Пример 1: Табела превода помоћу речника са макетранима ()
# example dictionary dict = ("a": "123", "b": "456", "c": "789") string = "abc" print(string.maketrans(dict)) # example dictionary dict = (97: "123", 98: "456", 99: "789") string = "abc" print(string.maketrans(dict))
Оутпут
(97: '123', 98: '456', 99: '789') (97: '123', 98: '456', 99: '789')
Овде је дефинисан речник из речника. Садржи мапирање знакова а, б и ц на 123, 456 и 789, респективно.
maketrans() креира мапирање Уницоде редног броја лика на његов одговарајући превод.
Дакле, 97 ('а') се пресликава на '123', 98 'б' на 456 и 99 'ц' на 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))
Оутпут
(97: 100, 98: 101, 99: 102) ВалуеЕррор: прва два аргумента за макетранс морају имати једнаку дужину
Прво овде два низови једнаке дужине abcи defдефинисани. И одговарајући превод је створен.
Штампањем само првог превода добићете мапирање 1 на 1 на Уницоде редни знак сваког знака у фирстСтринг на исти индексирани знак на сецондСтринг.
У овом случају, 97 ('а') се пресликава на 100 ('д'), 98 ('б') на 101 ('е') и 99 ('ц') на 102 ('ф').
Покушај стварања табеле превода за низове неједнаке дужине доводи до ValueErrorизузетка који указује на то да низови морају имати једнаку дужину.
Пример 3: Транслациони сто са уклоњивим низом са макетранима ()
# first string firstString = "abc" secondString = "def" thirdString = "abd" string = "abc" print(string.maketrans(firstString, secondString, thirdString))
Оутпут
(97: Нема, 98: Нема, 99: 102, 100: Нема)
Овде се прво креира мапирање између два низа фирстСтринг и сецондСтринг.
Затим, трећи аргумент тхирдСтринг ресетује мапирање сваког знака у њему Noneи такође креира ново мапирање за непостојеће знакове.
У овом случају, тхирдСтринг ресетује мапирање 97 ('а') и 98 ('б') на None, а такође креира ново мапирање за 100 ('д') пресликаних на None.








