Sintaksė
stygos.maketrans (arg1 [, arg2 [, arg3]])The maketrans () funkcija taikoma programos turiniui stygos vertė. Ši funkcija gali pateikti tris argumentus. Pirmasis argumentas yra privalomas, o kiti du argumentai yra neprivalomi. Kai šiame metode naudojamas tik vienas argumentas, argumentas bus žodynas. Kai šiame metode naudojami du argumentai, abu argumentai bus vienodo ilgio eilutės. Kai šiame metode naudojami trys argumentai, trečiasis argumentas bus eilutė, kuri pašalins simbolius iš eilutės duomenų. Funkcijos maketrans () naudojimas eilutės ir žodyno duomenyse parodytas tolesniuose pavyzdžiuose.
1 pavyzdys: „Maketrans“ () naudojimas žodyno raktui išversti
Šis scenarijus parodo maketrans () funkcijos naudojimą žodyno duomenims. Anksčiau buvo minėta, kad funkcija maketrans () reikalauja tik vieno žodyno kintamojo argumento. Pasirinktinė funkcija, pavadinta make_translation (), yra naudojamas kuriant vertimo lentelę pagal pateiktą eilutės vertę per maketrans () funkcija. Du dėl kilpos ir du skaitikliai naudojami čia norint išspausdinti teisingą kiekvieno ASCII kodo atvaizduotą simbolį.
#!/ usr / bin / env python3# Apibrėžkite funkciją, kaip išversti žodyną į vertimo lentelę
def make_translation (dictVar, strVar):
# Sukurkite vertimo lentelę
trans_table = strVar.maketrans (dictVar)
spausdinti ("Originalus žodynas yra: \ n", dictVar)
print ("Išversta žodyno lentelė yra: \ n", trans_table)
spausdinti ("\ n")
# Inicializuokite pirmąjį žodyno skaitiklį
skaitiklis1 = 1
„key1“ sistemoje „dictVar“:
# Inicializuokite antrąjį vertimo lentelės skaitiklį
skaitiklis2 = 1
raktas2 trans_table:
jei skaitiklis1 == skaitiklis2:
spausdinti ("% s išverstas į% d"% (key1, key2))
pertrauka
# Padidinkite antrąjį skaitiklį
skaitiklis2 = skaitiklis2 + 1
# Padidinkite pirmąjį skaitiklį
skaitiklis1 = skaitiklis1 + 1
# Apibrėžkite žodyną, kuriame raktas yra eilutė
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Apibrėžkite verstinų simbolių sąrašą
string = "ABCD"
# Iškvieskite vertimo funkciją
„make_translation“ („dictData“, eilutė)
Išvestis:
Ši išvestis pasirodys paleidus scenarijų. Vertimo lentelėje yra žodyno pagrindinės vertės ASCII kodas.
2 pavyzdys: maketrans () naudojimas eilutės simboliams išversti
Šis pavyzdys rodo maketrans () su eilutės duomenimis. Dvi eilutės reikšmės bus laikomos paieškos tekstu ir pakeis tekstą, o šios teksto vertės bus naudojamos kaip argumentai maketrans () funkcija. Turėtumėte nepamiršti, kad įvesties ir išvesties teksto ilgis turi būti vienodas, kad sukurtumėte vertimo lentelę. Priešingu atveju bus sugeneruota klaida. The versti () Funkcija naudojama konvertuoti vertimo lentelės duomenis į eilutės reikšmes.
#!/ usr / bin / env python3# Įveskite simbolių sąrašą, kurį norite išversti
search = input ("Įveskite ieškomų simbolių sąrašą \ n")
# Įveskite simbolių sąrašą, kurį norite pakeisti
pakeisti = įvestis ("Įveskite pakeičiančių simbolių sąrašą \ n")
# Patikrinkite simbolių sąrašo paieškos ir pakeitimo trukmę
jei len (ieškoti) == len (pakeisti):
# Apibrėžkite eilutės duomenis
original_text = "+8801822594876"
# Sukurkite perkėlimo lentelę naudodami maketrans ()
modifikuotas_tekstas = originalus_tekstas.maketrans (ieškoti, pakeisti)
# Atspausdinkite originalų tekstą
spausdinti ("Originalus tekstas yra:", originalas_tekstas)
# Atspausdinkite išvestį pritaikę maketrans ()
spausdinti ("Atvaizdavimo lentelės išvestis yra:", modifikuotas_tekstas)
# Atspausdinkite išvestį pritaikę vertimą ()
spausdinti ("Pakeistas tekstas yra:", originalas_tekstas.versti (modifikuotas_tekstas))
Kitas:
spausdinti ("Paieškos teksto ir pakeisto teksto ilgis nėra lygus")
Rezultatas
Paleidus scenarijų, 856 yra laikomas paieškos simboliais ir 487 yra laikomas pakeitimo simboliais kitame išvestyje. Šiuo atveju eilutėje 8 pakeičiamas 4, 5 pakeičiamas 8, o 6 eilutėje - 7, „+8801822594878.'Pakeista išvestis yra' +4401422894477."
3 pavyzdys: „Maketrans“ () naudojimas norint pakeisti ir ištrinti simbolius eilutėje
Šis pavyzdys parodo trijų argumentų naudojimą naudojant maketrans () metodą. Čia, stygos yra pagrindinė eilutė, kur simboliai str1 bus ieškoma. Jei kuris nors simbolis atitinka pasirinktą simbolį, jis pakeičiamas atitinkamu simboliu str2. Jei kuris nors simbolis str3 dera su bet kuriuo stygos kintamasis, tada tas simbolis bus pašalintas iš stygos kintamasis. Maketrans () metodas vienu metu iškviečiamas dviem argumentais, o maketrans () metodas dar kartą iškviečiamas trimis argumentais.
#!/ usr / bin / env python3# Apibrėžkite pagrindinę eilutę
string = "Linux"
# Apibrėžkite ieškomų simbolių sąrašą
str1 = "iu"
# Apibrėžkite simbolių sąrašą, kurį norite pakeisti
str2 = "Ui"
# Apibrėžkite ištrintinų simbolių sąrašą
str3 = "L"
# Atspausdinkite pagrindinį tekstą
spausdinti ("Originalus tekstas:", eilutė)
# Sukurkite vertimo lentelę
dict1 = eilutė.maketrans (str1, str2)
spausdinti ("\ nVertimo lentelė: \ n", dict1)
spausdinti ("Modifikuota eilutė:", eilutė.versti (dict1))
# Sukurkite vertimo lentelę ištrynę simbolius
dict2 = eilutė.maketrans (str1, str2, str3)
spausdinti ("\ nVertimo lentelė ištrynus simbolius: \ n", dict2)
# išspausdinkite pakeistą eilutę po vertimo
spausdinti ("\ nPakeista eilutė po ištrynimo:", eilutė.versti (dict2))
Rezultatas
Paleidus scenarijų rodomas toks išvestis. Čia „i“ ir „u“ simboliai„Linux“"iškvietus maketrans (), dviem argumentais pakeičiami" U "ir" i "simboliais, o išvestis yra"LUnix."Kai maketrans () metodas iškviečiamas su trim argumentais, tada simbolis" L "ištrinamas trečiuoju argumentu ir išvestis yra"„Unix“."
Išvada
Ši pamoka parodo, kaip lengvai galite pakeisti žodyno ar eilutės duomenų turinį naudodami metodą maketrans (). Tam tikrus simbolius eilutėje taip pat galima ištrinti naudojant šį metodą. Tikiuosi, kad šioje pamokoje pateikti pavyzdžiai padės „Python“ vartotojams suprasti kai kuriuos maketrans () metodo naudojimo būdus ir parodys, kaip tinkamai pritaikyti šį metodą savo scenarijuje.