Syntaks
snor.maketrans (arg1 [, arg2 [, arg3]])Det maketrans () funktion gælder for indholdet af snor værdi. Denne funktion er i stand til at tage tre argumenter. Det første argument er obligatorisk, og de to andre argumenter er valgfri. Når der kun bruges et argument i denne metode, vil argumentet være en ordbog. Når to argumenter bruges i denne metode, vil begge argumenter være strenge af samme længde. Når der bruges tre argumenter i denne metode, vil det tredje argument være en streng, der fjerner tegn fra strengdataene. Brugen af maketrans () -funktionen i streng- og ordbogsdata vises i de følgende eksempler.
Eksempel 1: Brug af maketrans () til at oversætte nøglen til ordbogen
Det følgende script viser brugen af maketrans () -funktionen til ordbogsdata. Før blev det nævnt, at maketrans () -funktionen kun tager ét argument for ordbogsvariablen. En brugerdefineret funktion, navngivet make_translation (), bruges her til at oprette oversættelsestabellen baseret på den angivne strengværdi via maketrans () fungere. To til sløjfer og to tællere bruges her til at udskrive det korrekte tegn kortlagt af hver ASCII-kode.
#!/ usr / bin / env python3# Definer funktionen til oversættelse af ordbogen til oversættelsestabellen
def make_translation (dictVar, strVar):
# Opret oversættelsestabellen
trans_table = strVar.maketrans (dictVar)
print ("Den oprindelige ordbog er: \ n", dictVar)
print ("Den oversatte tabel med ordbogen er: \ n", trans_table)
udskriv ("\ n")
# Initialiser den første tæller til ordbogen
tæller1 = 1
for nøgle 1 i dictVar:
# Initialiser den anden tæller til oversættelsestabellen
tæller2 = 1
for key2 i trans_table:
hvis tæller1 == tæller2:
print ("% s oversættes til% d"% (key1, key2))
pause
# Forøg anden tæller
counter2 = counter2 + 1
# Forøg første tæller
tæller1 = tæller1 + 1
# Definer en ordbog, hvor nøglen er en streng
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definer tegnliste, der skal oversættes
string = "ABCD"
# Ring til oversættelsesfunktionen
make_translation (dictData, streng)
Produktion:
Følgende output vises efter kørsel af scriptet. Oversættelsestabellen indeholder ASCII-koden for ordbogens nøgleværdi.
Eksempel 2: Brug af maketrans () til at oversætte strengets tegn
Følgende eksempel viser brugen af maketrans () med strengdata. To strengværdier tages som søgetekst og erstatter tekst, og disse tekstværdier vil blive brugt som argumenter for maketrans () fungere. Du skal huske på, at længden af både input og outputtekst skal være den samme for at oprette oversættelsestabellen. Ellers genereres en fejl. Det Oversætte() funktionen bruges her til at konvertere dataene fra oversættelsestabellen til strengværdier.
#!/ usr / bin / env python3# Indtast den tegnliste, du vil oversætte
search = input ("Indtast listen over søgende tegn \ n")
# Indtast den tegnliste, du vil erstatte
erstatte = input ("Indtast listen med udskiftning af tegn \ n")
# Kontroller længden på søgning og udskiftning af tegneliste
hvis len (søg) == len (erstat):
# Definer strengdata
original_text = "+8801822594876"
# Opret oversættelsestabellen ved hjælp af maketrans ()
modified_text = original_text.maketrans (søg, erstat)
# Udskriv den originale tekst
print ("Den originale tekst er:", original_text)
# Udskriv output efter anvendelse af maketrans ()
print ("Kortlægningstabellen er:", modified_text)
# Udskriv output efter anvendelse af translate ()
print ("Den udskiftede tekst er:", original_text.oversæt (modificeret_tekst))
andet:
print ("Længden på søgeteksten og erstatningsteksten er ikke ens")
Produktion
Efter at have kørt scriptet, 856 tages som søgetegn og 487 tages som erstatningstegn i følgende output. I dette tilfælde erstattes 8 med 4, 5 erstattes af 8, og 6 erstattes af 7 i strengen, '+8801822594878.'Den modificerede output er' +4401422894477.''
Eksempel 3: Brug af maketrans () til at oversætte og slette tegn i strengen
Følgende eksempel viser anvendelsen af tre argumenter med maketrans () -metoden. Her, den snor er hovedstrengen, hvor tegnene i str1 vil blive søgt. Hvis et tegn matcher det valgte tegn, vil dette tegn blive erstattet af det tilsvarende tegn på str2. Hvis nogen karakter af str3 matcher enhver karakter af snor variabel, så vil dette tegn blive fjernet fra snor variabel. Maketrans () -metoden kaldes med to argumenter for én gang, og metoden maketrans () kaldes med tre argumenter for en anden gang.
#!/ usr / bin / env python3# Definer hovedstrengen
string = "Linux"
# Definer tegnlisten, der skal søges
str1 = "iu"
# Definer den tegneliste, der skal erstattes
str2 = "Ui"
# Definer den tegnliste, der skal slettes
str3 = "L"
# Udskriv hovedteksten
print ("Den originale tekst:", streng)
# Opret oversættelsestabellen
dict1 = streng.maketrans (str1, str2)
udskrive ("\ n Oversættelsestabellen: \ n", dict1)
print ("Den modificerede streng:", streng.oversæt (dict1))
# Opret oversættelsestabellen efter sletning af tegn
dict2 = streng.maketrans (str1, str2, str3)
udskriv ("\ n Oversættelsestabellen efter sletning af tegnene: \ n", dict2)
# udskriv den modificerede streng efter translate
print ("\ nDen ændrede streng efter sletning:", streng.oversæt (dict2))
Produktion
Følgende output vises efter kørsel af scriptet. Her er 'i' og 'u' tegn fra 'Linux'erstattes af' U 'og' i 'tegn, når der kaldes maketrans () med to argumenter, og output er'LUnix.'Når metoden maketrans () kaldes med tre argumenter, slettes tegnet' L 'af det tredje argument, og output er'Unix.''
Konklusion
Denne vejledning viser, hvor let du kan erstatte indholdet af ordboks- eller strengdata via maketrans () -metoden. Særlige tegn i en streng kan også slettes ved hjælp af denne metode. Jeg håber, at eksemplerne vist i denne tutorial hjælper Python-brugere med at forstå nogle af anvendelserne af maketrans () -metoden og vil vise, hvordan man anvender denne metode korrekt i deres eget script.