„Python“

Kaip naudoti „maketrans“ „Python 3“

Kaip naudoti „maketrans“ „Python 3“
The maketrans () funkcija yra integruotas „Python“ vertimo metodas, naudojamas kuriant simbolių atvaizdavimo konversijų lenteles. Šiuo metodu vienas simbolis yra išverčiamas į kitą simbolį. Ši funkcija gali būti taikoma eilutės ir žodyno duomenims, norint susieti simbolius. Vertimo lentelėje naudojamas simbolio „Unicode“ atvaizdavimas. The versti () funkcija naudojama konvertuoti vertimo lentelės duomenis į eilutės duomenis. Šioje pamokoje bus paaiškinta, kaip maketrans () metodas gali būti naudojamas „Python“ simbolių atvaizdavimui.

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.

Kaip naudoti „Xdotool“, norint paskatinti pelės paspaudimus ir klavišų paspaudimus sistemoje „Linux“
„Xdotool“ yra nemokamas ir atviro kodo komandinės eilutės įrankis, skirtas pelės paspaudimams ir klavišų paspaudimams imituoti. Šis straipsnis apims t...
5 populiariausi „Linux“ skirtų ergonomiškų kompiuterinių pelių produktai
Ar ilgalaikis kompiuterio naudojimas sukelia riešo ar pirštų skausmą?? Ar jūs kenčiate nuo sąnarių standumo ir nuolat turite paspausti rankas? Ar jauč...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...