Pythoni stringide maketrans ()

Stringi maketrans () meetod tagastab tõlkimiseks kaardistamise tabeli, mida saab kasutada meetodi translate () jaoks.

Lihtsamalt öeldes on maketrans()meetod staatiline meetod, mis loob märgi üks-ühele kaardistamise selle tõlkimiseks / asendamiseks.

See loob tõlkimiseks iga tähemärgi Unicode'i kujutise.

Seda tõlke kaardistamist kasutatakse siis tähe asendamiseks vastendatud märgiga, kui seda kasutatakse meetodis translate ().

Meetodi süntaks maketrans()on:

 string.maketrans (x (, y (, z)))

Siin on y ja z valikulised argumendid.

String maketrans () parameetrid

maketrans() meetod võtab 3 parameetrit:

  • x - kui esitatakse ainult üks argument, peab see olema sõnastik.
    Sõnastik peaks sisaldama 1 kuni 1 kaardistamist ühest tähemärgistringist tõlkimiseks VÕI Unicode'i numbrit (97 tähe "a" jaoks) tõlkimiseks.
  • y - kui antakse kaks argumenti, peab see olema kaks võrdse pikkusega stringi.
    Iga esimese stringi märk on teise stringi vastava indeksi asendaja.
  • z - kui edastatakse kolm argumenti, vastendatakse kolmanda argumendi iga märk väärtusele Puudub.

Stringi maketransi () tagastusväärtus

maketrans()Meetod tagastab tõlkimise tabel 1-to-1 kaardistamine Unicode ordinal oma tõlke / asendamine.

Näide 1: Tõlketabel, kasutades maketransi () sõnastikku

 # 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))

Väljund

 (97: '123', 98: '456', 99: '789') (97: '123', 98: '456', 99: '789') 

Siin määratletakse sõnastiku dikteerimine. See sisaldab märkide a, b ja c kaardistamist vastavalt 123, 456 ja 789.

maketrans() loob tegelase Unicode'i järjestuse kaardistamise vastava tõlkega.

Niisiis on 97 ('a') kaardistatud väärtusega '123', 98 'b' väärtuseni 456 ja 99 'c' väärtuseni 789. Seda saab tõestada mõlema sõnastiku väljundist.

Samuti, kui sõnastikus on kaardistatud kaks või enam tähemärki, tekitab see erandi.

Näide 2: Tõlketabel, milles kasutatakse kahte stringi koos maketransiga ()

 # 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))

Väljund

 (97: 100, 98: 101, 99: 102) ValueError: kahel esimesel maketransi argumendil peab olema võrdne pikkus 

Siin esimene, kaks stringi võrdse pikkusega abcja defon määratletud. Ja luuakse vastav tõlge.

Ainult esimese tõlke printimine annab teile 1S-1 vastenduse firstStringi iga märgi Unicode'i järjestusega samasse indekseeritud tähemärki secondStringis.

Sel juhul kaardistatakse 97 ('a') väärtusega 100 ('d'), 98 ('b') kuni 101 ('e') ja 99 ('c') kuni 102 ('f').

Püüdes luua ebavõrdse pikkusega stringide tõlketabelit, tekib ValueErrorerand, mis näitab, et stringide pikkus peab olema sama.

Näide 3: eemaldatava stringiga tõlketabel koos maketransiga ()

 # first string firstString = "abc" secondString = "def" thirdString = "abd" string = "abc" print(string.maketrans(firstString, secondString, thirdString))

Väljund

 (97: Puudub, 98: Puudub, 99: 102, 100: Puudub) 

Siin luuakse kõigepealt kahe stringi firstString ja secondString kaardistamine.

Seejärel lähtestab kolmas argument thirdString iga selles oleva märgi kaardistamise Noneja loob ka uue olematute märkide kaardistamise.

Sel juhul lähtestab thirdString 97 ('a') ja 98 ('b') Nonekaardistamise ning loob ka uue kaardistuse 100 ('d') jaoks, millele on kaardistatud None.

Huvitavad Artiklid...