Krajta

Jak používat maketrans v Pythonu 3

Jak používat maketrans v Pythonu 3
The maketrans () function je integrovaná metoda překladu v Pythonu používaná k vytváření konverzních tabulek mapování znaků. Pomocí této metody je jeden znak přeložen do jiného znaku. Tuto funkci lze použít na data řetězců a slovníků k mapování znaků. Reprezentační znak znaku Unicode se používá v překladové tabulce. The přeložit() funkce slouží k převodu dat překladové tabulky na data řetězce. Tento výukový program vysvětlí, jak maketrans () metoda může být použita v Pythonu pro mapování znaků.

Syntax

tětiva.maketrans (arg1 [, arg2 [, arg3]])

The maketrans () funkce se vztahuje na obsah souboru tětiva hodnota. Tato funkce dokáže přijmout tři argumenty. První argument je povinný a další dva argumenty jsou volitelné. Pokud se v této metodě použije pouze jeden argument, bude argumentem slovník.  Pokud jsou v této metodě použity dva argumenty, budou oba argumenty řetězce stejné délky. Pokud se v této metodě použijí tři argumenty, bude třetím argumentem řetězec, který odebere znaky z dat řetězce. V následujících příkladech je uvedeno použití funkce maketrans () v řetězcových a slovníkových datech.

Příklad 1: Použití maketrans () k překladu klíče slovníku

Následující skript ukazuje použití funkce maketrans () pro data slovníku. Dříve bylo zmíněno, že funkce maketrans () trvá pouze jeden argument pro proměnnou slovníku. Vlastní funkce s názvem make_translation (), zde se používá k vytvoření překladové tabulky na základě poskytnuté hodnoty řetězce prostřednictvím souboru maketrans () funkce. Dva pro smyčky a dva čítače se zde používají k tisku správných znaků mapovaných každým kódem ASCII.

#!/ usr / bin / env python3
 
# Definujte funkci pro překlad slovníku do překladové tabulky
def make_translation (dictVar, strVar):
# Vytvořte překladovou tabulku
trans_table = strVar.maketrans (dictVar)
print ("Původní slovník je: \ n", dictVar)
print ("Přeložená tabulka slovníku je: \ n", trans_table)
print ("\ n")
# Inicializuje první počítadlo pro slovník
counter1 = 1
pro key1 v dictVar:
# Inicializujte druhé počítadlo pro překladovou tabulku
counter2 = 1
pro key2 v trans_table:
pokud counter1 == counter2:
print ("% s je přeloženo do% d"% (klíč1, klíč2))
přestávka
# Zvýšení druhého počítadla
counter2 = counter2 + 1
# Zvýšení prvního čítače
counter1 = counter1 + 1
 
# Definujte slovník, kde klíč je řetězec
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definujte seznam znaků, které chcete přeložit
string = "ABCD"
# Zavolejte funkci překladu
make_translation (dictData, řetězec)

Výstup:

Po spuštění skriptu se zobrazí následující výstup. Překladová tabulka obsahuje ASCII kód ​​klíčové hodnoty slovníku.

Příklad 2: Použití maketrans () k překladu znaků řetězce

Následující příklad ukazuje použití maketrans () s daty řetězce. Dvě hodnoty řetězce budou brány jako vyhledávací text a nahradí text a tyto textové hodnoty budou použity jako argumenty pro maketrans () funkce. Měli byste mít na paměti, že délka vstupního i výstupního textu musí být pro vytvoření překladové tabulky stejná. Jinak bude vygenerována chyba. The přeložit() funkce se zde používá k převodu dat překladové tabulky na hodnoty řetězce.

#!/ usr / bin / env python3
 
# Zadejte seznam znaků, který chcete přeložit
search = input ("Zadejte seznam hledaných znaků \ n")
# Zadejte seznam znaků, který chcete nahradit
replace = input ("Zadejte seznam nahrazujících znaků \ n")
 
# Zkontrolujte délku vyhledávání a nahrazování seznamu znaků
pokud len (hledat) == len (nahradit):
 
# Definujte data řetězce
original_text = "+8801822594876"
# Vytvořte překladovou tabulku pomocí maketrans ()
modified_text = original_text.maketrans (hledat, nahradit)
 
# Vytiskněte původní text
print ("Původní text je:", original_text)
# Vytisknout výstup po použití maketrans ()
print ("Výstup mapovací tabulky je:", modified_text)
# Vytisknout výstup po použití translate ()
print ("Nahrazený text je:", original_text.přeložit (modified_text))
jiný:
tisk ("Délka hledaného textu a nahrazení textu se nerovnají")

Výstup

Po spuštění skriptu, 856 se bere jako vyhledávací znaky a 487 je považován za nahrazující znaky v následujícím výstupu. V tomto případě je 8 nahrazeno 4, 5 je nahrazeno 8 a 6 je nahrazeno 7 v řetězci, '+8801822594878.„Upravený výstup je„ +4401422894477.''

Příklad 3: Použití maketrans () k překladu a odstranění znaků v řetězci

Následující příklad ukazuje použití tří argumentů s metodou maketrans (). Tady tětiva je hlavní řetězec, kde jsou znaky str1 bude prohledáno. Pokud některý znak odpovídá vybranému znaku, bude tento znak nahrazen odpovídajícím znakem str2. Pokud nějaký znak str3 odpovídá libovolnému znaku souboru tětiva proměnná, pak bude tento znak odstraněn z tětiva proměnná. Metoda maketrans () se volá se dvěma argumenty pro jednou a metoda maketrans () se volá se třemi argumenty pro jinou dobu.

#!/ usr / bin / env python3
 
# Definujte hlavní řetězec
string = "Linux"
# Definujte seznam znaků, který chcete vyhledat
str1 = "iu"
# Definujte seznam znaků, které chcete nahradit
str2 = "Ui"
# Definujte seznam znaků, který chcete odstranit
str3 = "L"
 
# Vytiskněte hlavní text
print ("Původní text:", řetězec)
 
# Vytvořte překladovou tabulku
dict1 = řetězec.maketrans (str1, str2)
print ("\ nTranslační tabulka: \ n", dict1)
print ("Upravený řetězec:", řetězec.přeložit (dict1))
 
# Po odstranění znaků vytvořte překladovou tabulku
dict2 = řetězec.maketrans (str1, str2, str3)
print ("\ nTranslační tabulka po odstranění znaků: \ n", dict2)
# vytisknout upravený řetězec po překladu
print ("\ n Upravený řetězec po odstranění:", řetězec.přeložit (dict2))

Výstup

Po spuštění skriptu se zobrazí následující výstup. Zde jsou znaky „i“ a „u“ typu „Linux'jsou nahrazeny znaky' U 'a' i 'při volání maketrans () se dvěma argumenty a výstup je'LUnix.„Když je metoda maketrans () volána se třemi argumenty, pak znak„ L “je odstraněn třetím argumentem a výstup je„Unix.''

Závěr

Tento kurz ukazuje, jak snadno můžete nahradit obsah slovníku nebo řetězcových dat pomocí metody maketrans (). Pomocí této metody lze také odstranit konkrétní znaky v řetězci. Doufám, že příklady uvedené v tomto tutoriálu pomohou uživatelům Pythonu porozumět některým způsobům použití metody maketrans () a ukáží, jak tuto metodu správně použít ve svém vlastním skriptu.

Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...
Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...