Python

Ako používať maketrans v Pythone 3

Ako používať maketrans v Pythone 3
The maketrans () function je vstavaná metóda prekladu v Pythone používaná na vytváranie konverzných tabuliek na mapovanie znakov. Týmto spôsobom sa jeden znak preloží do druhého znaku. Túto funkciu je možné použiť na dáta reťazcov a slovníkov na mapovanie znakov. V prekladovej tabuľke sa používa znaková reprezentácia znaku Unicode. The preložiť () Funkcia sa používa na prevod údajov prekladovej tabuľky do údajov reťazca. Tento tutoriál vysvetlí, ako maketrans () metóda môže byť použitá v Pythone na mapovanie znakov.

Syntax

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

The maketrans () Funkcia sa vzťahuje na obsah struna hodnotu. Táto funkcia je schopná prijať tri argumenty. Prvý argument je povinný a ďalšie dva argumenty sú voliteľné. Ak sa v tejto metóde použije iba jeden argument, potom bude argumentom slovník.  Ak sa v tejto metóde použijú dva argumenty, potom budú oba argumenty rovnako dlhé reťazce. Ak sa v tejto metóde použijú tri argumenty, potom tretím argumentom bude reťazec, ktorý odstráni znaky z údajov reťazca. Nasledujúce príklady ukazujú použitie funkcie maketrans () v údajoch reťazca a slovníka.

Príklad 1: Použitie maketrans () na preloženie kľúča zo slovníka

Nasledujúci skript ukazuje použitie funkcie maketrans () pre slovníkové dáta. Predtým bolo spomenuté, že funkcia maketrans () zaberá pre premennú slovníka iba jeden argument. Vlastná funkcia s názvom make_translation (), sa tu používa na vytvorenie prekladovej tabuľky na základe poskytnutej hodnoty reťazca prostredníctvom súboru maketrans () funkcia. Dva pre na tlač správnych znakov mapovaných každým kódom ASCII sa tu používajú slučky a dva počítadlá.

#!/ usr / bin / env python3
 
# Definujte funkciu na preklad slovníka do prekladovej tabuľky
def make_translation (dictVar, strVar):
# Vytvorte prekladovú tabuľku
trans_table = strVar.maketrans (dictVar)
print ("Pôvodný slovník je: \ n", dictVar)
print ("Prekladaná tabuľka slovníka je: \ n", trans_table)
print ("\ n")
# Inicializuje prvé počítadlo pre slovník
counter1 = 1
pre key1 v dictVar:
# Inicializujte druhé počítadlo pre prekladovú tabuľku
counter2 = 1
pre key2 v trans_table:
ak counter1 == counter2:
print ("% s je preložené do% d"% (kľúč1, kľúč2))
prestávka
# Zvýšiť druhé počítadlo
counter2 = counter2 + 1
# Zvýšiť prvé počítadlo
counter1 = counter1 + 1
 
# Definujte slovník, kde kľúčom je reťazec
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definujte zoznam znakov, ktoré sa majú preložiť
string = "ABCD"
# Zavolajte funkciu prekladu
make_translation (dictData, string)

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup. Prekladová tabuľka obsahuje ASCII kód ​​kľúčovej hodnoty slovníka.

Príklad 2: Použitie maketrans () na preklad znakov reťazca

Nasledujúci príklad ukazuje použitie maketrans () s údajmi reťazca. Ako text hľadaného textu sa nahradia dve hodnoty reťazca, ktoré nahradia text a tieto hodnoty textu sa použijú ako argumenty pre text maketrans () funkcia. Mali by ste mať na pamäti, že pri vytváraní prekladovej tabuľky musí byť dĺžka vstupného aj výstupného textu rovnaká. V opačnom prípade sa vygeneruje chyba. The preložiť () funkcia sa tu používa na prevod údajov prekladovej tabuľky na hodnoty reťazca.

#!/ usr / bin / env python3
 
# Zadajte zoznam znakov, ktoré chcete preložiť
search = input ("Zadajte zoznam hľadaných znakov \ n")
# Zadajte zoznam znakov, ktorý chcete nahradiť
replace = input ("Zadajte zoznam nahradzujúcich znakov \ n")
 
# Skontrolujte dĺžku hľadania a výmeny znakov
ak len (hľadať) == len (nahradiť):
 
# Definujte údaje reťazca
original_text = "+8801822594876"
# Vytvorte prekladaciu tabuľku pomocou maketrans ()
modified_text = original_text.maketrans (vyhľadať, nahradiť)
 
# Vytlačte pôvodný text
print ("Pôvodný text je:", original_text)
# Vytlačiť výstup po použití maketrans ()
print ("Výstup mapovacej tabuľky je:", modified_text)
# Vytlačiť výstup po použití translate ()
print ("Nahradený text je:", original_text.preložiť (modified_text))
inak:
print ("Dĺžka hľadaného textu a nahradeného textu nie sú rovnaké")

Výkon

Po spustení skriptu, 856 sa berie ako hľadané znaky a 487 sa v nasledujúcom výstupe berie ako náhradné znaky. V takom prípade sa 8 nahrádza 4, 5 sa nahradí 8 a 6 sa nahradí 7 v reťazci, '+8801822594878.„Upravený výstup je„ +4401422894477.„

Príklad 3: Použitie maketrans () na preklad a odstránenie znakov v reťazci

Nasledujúci príklad ukazuje použitie troch argumentov s metódou maketrans (). Tu je struna je hlavný reťazec, kde sú znaky str1 bude prehľadané. Ak sa niektorý znak zhoduje s vybraným znakom, potom sa tento znak nahradí zodpovedajúcim znakom str2. Ak nejaký znak z str3 sa zhoduje s ľubovoľným znakom struna premenná, potom bude tento znak odstránený z struna premenná. Metóda maketrans () sa volá s dvoma argumentmi pre jedenkrát a metóda maketrans () sa volá s tromi argumentmi pre iný čas.

#!/ usr / bin / env python3
 
# Definujte hlavný reťazec
string = "Linux"
# Definujte zoznam znakov, ktoré sa majú vyhľadať
str1 = "iu"
# Definujte zoznam znakov, ktoré sa majú nahradiť
str2 = "Ui"
# Definujte zoznam znakov, ktoré chcete vymazať
str3 = "L"
 
# Vytlačte hlavný text
print ("Pôvodný text:", reťazec)
 
# Vytvorte prekladovú tabuľku
dict1 = reťazec.maketrans (str1, str2)
print ("\ nPrekladová tabuľka: \ n", dict1)
print ("Upravený reťazec:", reťazec.preložiť (dict1))
 
# Vytvorte prekladovú tabuľku po odstránení znakov
dict2 = reťazec.maketrans (str1, str2, str3)
print ("\ nPrekladateľská tabuľka po odstránení znakov: \ n", dict2)
# vytlačiť upravený reťazec po preklade
print ("\ nOpravený reťazec po odstránení:", reťazec.preložiť (dict2))

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup. Tu sú znaky „i“ a „u“ znaku „Linux„sú nahradené znakmi„ U “a„ i “pri volaní maketrans () s dvoma argumentmi a výstup je„LUnix.„Keď sa metóda maketrans () volá s tromi argumentmi, potom sa znak„ L “tretím argumentom vymaže a výstup je„Unix.„

Záver

Tento výukový program ukazuje, ako ľahko môžete nahradiť obsah slovníkových alebo reťazcových údajov pomocou metódy maketrans (). Touto metódou možno tiež mazať jednotlivé znaky v reťazci. Dúfam, že príklady uvedené v tomto tutoriále pomôžu používateľom Pythonu pochopiť niektoré spôsoby použitia metódy maketrans () a ukážu, ako túto metódu správne použiť vo svojom vlastnom skripte.

Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...
Ako zmeniť ľavé a pravé tlačidlo myši na počítači so systémom Windows 10
Je úplnou normou, že všetky zariadenia počítačových myší sú ergonomicky navrhnuté pre pravákov. Existujú však dostupné myšacie zariadenia, ktoré sú šp...
Napodobňovanie kliknutí myšou vznášaním sa pomocou myši bez myši vo Windows 10
Používanie myši alebo klávesnice v nesprávnom postoji k nadmernému používaniu môže mať za následok veľa zdravotných problémov vrátane napätia, syndróm...