Питхон Стринг макетранс ()

Метода стринг макетранс () враћа табелу мапирања за превод употребљиву за методу транслате ().

Једноставно речено, 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.

Занимљиви Чланци...