Hvordan bruke maketrans i Python 3

Hvordan bruke maketrans i Python 3
De maketrans () Funksjon er en innebygd oversettelsesmetode i Python som brukes til å lage karakterkartleggingskonverteringstabeller. Én karakter blir oversatt til en annen karakter via denne metoden. Denne funksjonen kan brukes på streng- og ordboksdata for å kartlegge tegn. Unicode -representasjon av tegnet brukes i oversettelsestabellen. De oversette() Funksjon brukes til å konvertere dataene fra oversettelsestabellen til strengdata. Denne opplæringen vil forklare hvordan maketrans () Metode kan brukes i Python for karakterkartlegging.

Syntaks

streng.Maketrans (Arg1 [, Arg2 [, Arg3]])

De maketrans () Funksjon gjelder innholdet i streng verdi. Denne funksjonen er i stand til å ta tre argumenter. Det første argumentet er obligatorisk og de to andre argumentene er valgfrie. Når bare ett argument brukes i denne metoden, vil argumentet være en ordbok. Når to argumenter brukes i denne metoden, vil begge argumentene være strenger av samme lengde. Når tre argumenter brukes i denne metoden, vil det tredje argumentet være en streng som vil fjerne tegn fra strengdataene. Bruken av maketrans () -funksjonen i streng- og ordboksdata vises i eksemplene som følger.

Eksempel 1: Bruke maketrans () for å oversette nøkkelen til ordboken

Følgende skript viser bruken av maketrans () -funksjonen for ordboksdata. Før ble det nevnt at Maketrans () -funksjonen bare tar ett argument for ordbokvariabelen. En tilpasset funksjon, kalt make_translation (), brukes her for å lage oversettelsestabellen basert på den medfølgende strengverdien via maketrans () funksjon. To til Løkker og to tellere brukes her for å skrive ut riktig tegn som er kartlagt av hver ASCII -kode.

#!/usr/bin/env python3
# Definer funksjonen for å oversette ordboken til oversettelsestabellen
def make_translation (dictvar, strvar):
# Lag oversettelsestabellen
trans_table = strVar.Maketrans (Dictvar)
Print ("Den originale ordboken er: \ n", dictvar)
PRINT ("The Tranlated Table of Dictionary Is: \ n", trans_table)
print ("\ n")
# Initialiser den første telleren for ordbok
Counter1 = 1
For Key1 i DictVar:
# Initialiser den andre telleren for oversettelsesbord
Counter2 = 1
For Key2 i trans_table:
Hvis counter1 == counter2:
Print (" %S er oversatt til %D" %(Key1, Key2)))
gå i stykker
# Økning andre teller
Counter2 = Counter2 + 1
# Økning første teller
teller1 = mot1 + 1
# Definer en ordbok der tasten er en streng
DictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definer karakterliste for å oversette
String = "ABCD"
# Ring oversettelsesfunksjonen
make_translation (dictdata, streng)

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet. Oversettelsestabellen inneholder ASCII -koden til ordens nøkkelverdi.

Eksempel 2: Bruke maketrans () for å oversette tegnene på strengen

Følgende eksempel viser bruken av maketrans () med strengdata. To strengverdier vil bli tatt som søketekst og erstatte tekst, og disse tekstverdiene vil bli brukt som argumenter for maketrans () funksjon. Du må huske på at lengden på både inngangen og utgangsteksten må være den samme for å lage oversettelsestabellen. Ellers vil det bli generert en feil. De oversette() Funksjon brukes her for å konvertere oversettelsestabelldataene til strengverdier.

#!/usr/bin/env python3
# Skriv inn karakterlisten du vil oversette
Søk = input ("Skriv inn listen for søkende tegn \ n")
# Skriv inn tegnlisten du vil erstatte
Erstatt = input ("Skriv inn listen over erstatning av tegn \ n")
# Kontroller lengden på å søke og erstatte karakterliste
Hvis len (søk) == len (erstatt):
# Definer strengdataene
original_text = "+8801822594876"
# Opprett tranlasjonstabellen ved hjelp av maketrans ()
modified_text = original_text.maketrans (søk, erstatt)
# Skriv ut originalteksten
trykk ("Originalteksten er:", original_text)
# Skriv ut utdataene etter å ha brukt maketrans ()
PRINT ("Kartleggingstabellutgangen er:", Modified_text)
# Skriv ut utdataene etter å ha påført oversettelse ()
trykk ("Den erstattede teksten er:", original_text.oversettes (modified_text))
ellers:
Print ("Lengden på søketeksten og erstattet tekst er ikke lik")

Produksjon

Etter å ha kjørt skriptet, 856 blir tatt som søkekarakterer og 487 blir tatt som erstatningstegn i følgende utgang. I dette tilfellet erstattes 8 av 4, 5 erstattes av 8, og 6 erstattes av 7 i strengen, '+8801822594878.'Den modifiserte utgangen er' +4401422894477.'

Eksempel 3: Bruke maketrans () for å oversette og slette tegn i strengen

Følgende eksempel viser bruken av tre argumenter med Maketrans () -metoden. Her, The streng er hovedstrengen, der karakterene til STR1 vil bli søkt. Hvis noen karakter samsvarer med den valgte karakteren, vil den karakteren bli erstattet av den tilsvarende karakteren av str2. Hvis noen karakter av str3 samsvarer med en hvilken som helst karakter av streng variabel, da vil den karakteren bli fjernet fra streng variabel. Maketrans () -metoden kalles med to argumenter for en gang og Maketrans () -metoden kalles med tre argumenter for en annen tid.

#!/usr/bin/env python3
# Definer hovedstrengen
String = "Linux"
# Definer karakterlisten for å søke
str1 = "IU"
# Definer karakterlisten for å erstatte
str2 = "ui"
# Definer karakterlisten for å slette
str3 = "L"
# Skriv ut hovedteksten
trykk ("Originaltekst:", streng)
# Lag oversettelsestabellen
dict1 = streng.Maketrans (STR1, STR2)
Print ("\ N TRANSLATION TABELL: \ n", dict1)
print ("den modifiserte strengen:", streng.Oversatt (DICT1))
# Lag oversettelsestabellen etter å ha slettet tegn
dict2 = streng.maketrans (str1, str2, str3)
print ("\ novers oversettelsestabellen etter å ha slettet tegnene: \ n", dict2)
# Skriv ut den modifiserte strengen etter oversatt
skriv ut ("\ n den modifiserte strengen etter slett:", streng.Oversatt (DICT2))

Produksjon

Følgende utgang vises etter å ha kjørt skriptet. Her 'jeg' og 'u' karakterer av 'Linux'Er erstattet av' U 'og' I 'tegn når du ringer Maketrans () med to argumenter, og utgangen er'Lunix.'Når Maketrans () -metoden kalles med tre argumenter, blir karakteren' L 'slettet av det tredje argumentet og utgangen er'Unix.'

Konklusjon

Denne opplæringen viser hvor lett du kan erstatte innholdet i ordboken eller strengdata via MakeTrans () -metoden. Bestemte tegn i en streng kan også slettes gjennom denne metoden. Jeg håper at eksemplene som vises i denne opplæringen vil hjelpe Python -brukere til å forstå noen av bruken av Maketrans () -metoden og vil vise hvordan du bruker denne metoden riktig i sitt eget skript.