Python

Kā lietot maketrans Python 3

Kā lietot maketrans Python 3
The maketrans () funkcija ir Python iebūvēta tulkošanas metode, ko izmanto, lai izveidotu rakstzīmju kartēšanas konversijas tabulas. Izmantojot šo metodi, viens raksturs tiek pārveidots par citu rakstzīmi. Šo funkciju var izmantot virkņu un vārdnīcas datiem, lai kartētu rakstzīmes. Tulkošanas tabulā tiek izmantots rakstzīmes Unicode attēlojums. The tulkot () Funkcija tiek izmantota, lai pārveidotu tulkošanas tabulas datus virknes datos. Šajā apmācībā tiks paskaidrots, kā maketrans () metodi var izmantot Python rakstzīmju kartēšanai.

Sintakse

virkne.maketrans (arg1 [, arg2 [, arg3]])

The maketrans () funkcija attiecas uz programmas saturu virkne vērtība. Šai funkcijai ir trīs argumenti. Pirmais arguments ir obligāts, un pārējie divi argumenti nav obligāti. Ja šajā metodē tiek izmantots tikai viens arguments, arguments būs vārdnīca.  Ja šajā metodē tiek izmantoti divi argumenti, abi argumenti būs vienāda garuma virknes. Ja šajā metodē tiek izmantoti trīs argumenti, tad trešais arguments būs virkne, kas noņems rakstzīmes no virknes datiem. Funkcijas maketrans () izmantošana virkņu un vārdnīcu datos ir parādīta turpmākajos piemēros.

1. piemērs: Maketrans () izmantošana vārdnīcas atslēgas tulkošanai

Šis skripts parāda maketrans () funkcijas izmantošanu vārdnīcas datiem. Iepriekš tika minēts, ka funkcijai maketrans () vārdnīcas mainīgajam nepieciešams tikai viens arguments. Pielāgota funkcija ar nosaukumu make_translation (), tiek izmantots, lai izveidotu tulkošanas tabulu, pamatojoties uz norādīto virknes vērtību, izmantojot maketrans () funkciju. Divi priekš cilpas un divus skaitītājus šeit izmanto, lai izdrukātu pareizo rakstzīmi, kas kartēta ar katru ASCII kodu.

#!/ usr / bin / env python3
 
# Definējiet funkciju, kā tulkot vārdnīcu tulkošanas tabulā
def make_translation (dictVar, strVar):
# Izveidojiet tulkošanas tabulu
trans_table = strVar.maketrans (dictVar)
drukāt ("Sākotnējā vārdnīca ir: \ n", dictVar)
print ("Vārdnīcas tulkotā tabula ir: \ n", trans_table)
drukāt ("\ n")
# Inicializējiet vārdnīcas pirmo skaitītāju
skaitītājs1 = 1
atslēgai1 dictVar:
# Inicializējiet tulkošanas tabulas otro skaitītāju
skaitītājs2 = 1
atslēgai2 trans_table:
ja skaitītājs1 == skaitītājs2:
drukāt ("% s tiek tulkots uz% d"% (key1, key2))
pārtraukums
# Palieliniet otro skaitītāju
skaitītājs2 = skaitītājs2 + 1
# Palieliniet pirmo skaitītāju
skaitītājs1 = skaitītājs1 + 1
 
# Definējiet vārdnīcu, kur atslēga ir virkne
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definējiet tulkojamo rakstzīmju sarakstu
string = "ABCD"
# Izsauciet tulkošanas funkciju
make_translation (dictData, virkne)

Izeja:

Pēc skripta palaišanas parādīsies šāda izeja. Tulkošanas tabulā ir vārdnīcas atslēgas vērtības ASCII kods.

2. piemērs: Maketrans () izmantošana virknes rakstzīmju tulkošanai

Šajā piemērā parādīts maketrans () ar virknes datiem. Divas virknes vērtības tiks uzskatītas par meklēšanas tekstu un aizstās tekstu, un šīs teksta vērtības tiks izmantotas kā argumenti maketrans () funkciju. Jums jāpatur prātā, ka tulkošanas tabulas izveidošanai gan ievades, gan izvades teksta garumam jābūt vienādam. Pretējā gadījumā tiks ģenerēta kļūda. The tulkot () Funkcija tiek izmantota, lai pārveidotu tulkošanas tabulas datus virknes vērtībās.

#!/ usr / bin / env python3
 
# Ievadiet rakstzīmju sarakstu, kuru vēlaties tulkot
search = input ("Ievadiet meklējamo rakstzīmju sarakstu \ n")
# Ievadiet rakstzīmju sarakstu, kuru vēlaties aizstāt
aizstāt = ievade ("Ievadiet aizstājošo rakstzīmju sarakstu \ n")
 
# Pārbaudiet rakstzīmju saraksta meklēšanas un aizstāšanas ilgumu
ja len (meklēt) == len (aizstāt):
 
# Definējiet virknes datus
original_text = "+8801822594876"
# Izveidojiet tulkošanas tabulu, izmantojot maketrans ()
modificēts_teksts = oriģināls_teksts.maketrans (meklēt, aizstāt)
 
# Izdrukājiet oriģinālo tekstu
drukāt ("Sākotnējais teksts ir:", oriģināls_teksts)
# Izdrukājiet izvadi pēc maketrans () izmantošanas
print ("Kartēšanas tabulas izeja ir:", modificēts_teksts)
# Pēc tulkošanas () izmantošanas izdrukājiet izvadi
print ("Aizstātais teksts ir:", oriģināls_teksts.tulkot (modificēts_teksts))
cits:
drukāt ("Meklēšanas teksta un aizstājošā teksta garums nav vienāds")

Rezultāts

Pēc skripta palaišanas, 856. lpp tiek uzskatīts par meklēšanas rakstzīmēm un 487 tiek uzskatīts par aizstājošo rakstzīmēm nākamajā izvadē. Šajā gadījumā virknē 8 tiek aizstāts ar 4, 5 tiek aizstāts ar 8 un 6 tiek aizstāts ar 7, “+8801822594878.'Pārveidotā izeja ir' +4401422894477."

3. piemērs: Maketrans () izmantošana rakstzīmju tulkošanai un dzēšanai virknē

Šis piemērs parāda trīs argumentu izmantošanu ar metodi maketrans (). Lūk, virkne ir galvenā virkne, kur rakstzīmes str1 tiks meklēti. Ja kāds raksturs sakrīt ar izvēlēto rakstzīmi, tas tiek aizstāts ar atbilstošo rakstzīmi str2. Ja kāds raksturs str3 sakrīt ar jebkuru rakstzīmi virkne mainīgais, tad šī rakstzīme tiks noņemta no virkne mainīgais. Maketrans () metode tiek izsaukta ar diviem argumentiem vienu reizi, bet metode maketrans () tiek izsaukta ar trim argumentiem citu laiku.

#!/ usr / bin / env python3
 
# Definējiet galveno virkni
string = "Linux"
# Definējiet meklējamo rakstzīmju sarakstu
str1 = "iu"
# Definējiet aizstājamo rakstzīmju sarakstu
str2 = "Ui"
# Definējiet dzēšamo rakstzīmju sarakstu
str3 = "L"
 
# Izdrukājiet galveno tekstu
drukāt ("Sākotnējais teksts:", virkne)
 
# Izveidojiet tulkošanas tabulu
dict1 = virkne.maketrans (str1, str2)
drukāt ("\ nTulkojuma tabula: \ n", dict1)
drukāt ("Modificētā virkne:", virkne.tulkot (dict1))
 
# Pēc rakstzīmju dzēšanas izveidojiet tulkošanas tabulu
dict2 = virkne.maketrans (str1, str2, str3)
print ("\ nTulkošanas tabula pēc rakstzīmju dzēšanas: \ n", dict2)
# pēc tulkošanas izdrukājiet modificēto virkni
print ("\ nModificētā virkne pēc dzēšanas:", virkne.tulkot (dict2))

Rezultāts

Pēc skripta palaišanas parādās šāda izeja. Šeit “i” un “u” rakstzīmesLinuxizsaucot maketrans () ar diviem argumentiem, aizstāj ar “U” un “i” rakstzīmēm, un izeja irLUnix."Kad metode maketrans () tiek izsaukta ar trim argumentiem, rakstzīmi" L "izdzēš trešais arguments un izeja ir"Unix."

Secinājums

Šī apmācība parāda, cik viegli jūs varat aizstāt vārdnīcas vai virknes datu saturu, izmantojot metodi maketrans (). Izmantojot šo metodi, var arī izdzēst atsevišķas rakstzīmes virknē. Es ceru, ka šajā apmācībā parādītie piemēri palīdzēs Python lietotājiem izprast dažus maketrans () metodes izmantošanas veidus un parādīs, kā pareizi izmantot šo metodi viņu pašu skriptā.

Rakstot Windows 10, kursors lec vai pārvietojas nejauši
Ja atklājat, ka peles kursors automātiski, nejauši lec vai pārvietojas pats, rakstot Windows klēpjdatorā vai datorā, daži no šiem ieteikumiem var palī...
Kā mainīt peles un skārienpaliktņu ritināšanas virzienu operētājsistēmā Windows 10
Pele un SkārienpaliktnisTas ne tikai padara skaitļošanu vienkāršu, bet arī efektīvāku un mazāk laikietilpīgu. Mēs nevaram iedomāties dzīvi bez šīm ier...
Kā mainīt peles rādītāja un kursora izmēru, krāsu un shēmu operētājsistēmā Windows 10
Peles rādītājs un kursors operētājsistēmā Windows 10 ir ļoti svarīgi operētājsistēmas aspekti. To var teikt arī par citām operētājsistēmām, tāpēc pati...