Piton

A maketrans használata a Python 3-ban

A maketrans használata a Python 3-ban
A maketrans () function a Python beépített fordítási módszere, amelyet karakterleképezési konverziós táblák létrehozására használnak. Az egyik karaktert ezzel a módszerrel lefordítják egy másik karakterré. Ez a függvény karakterláncok és szótáradatokra alkalmazható a karakterek leképezésére. A fordítási táblázatban a karakter Unicode ábrázolását használják. A fordít() függvény a fordítási tábla adatainak karakterlánc-adatokká történő átalakítására szolgál. Ez az oktatóanyag elmagyarázza, hogyan maketrans () metódus használható a Python-ban a karakter leképezéséhez.

Szintaxis

húr.maketrans (arg1 [, arg2 [, arg3]])

A maketrans () függvény vonatkozik a húr érték. Ez a függvény három argumentumot képes felvenni. Az első érv kötelező és a másik két érv nem kötelező. Ha csak egy argumentumot használnak ebben a módszerben, akkor az argumentum szótár lesz.  Ha két argumentumot használnak ebben a módszerben, akkor mindkét argumentum azonos hosszúságú karakterlánc lesz. Ha ebben a módszerben három argumentumot használnak, akkor a harmadik argumentum egy karakterlánc lesz, amely eltávolítja a karaktereket a karakterlánc adataiból. A maketrans () függvény használatát a karakterláncokban és szótárakban a következő példák mutatják be.

1. példa: A maketrans () használata a szótár kulcsának fordításához

Az alábbi szkript bemutatja a maketrans () függvény használatát a szótáradatokhoz. Korábban említettük, hogy a maketrans () függvény csak egy argumentumot tartalmaz a szótár változóhoz. Egyéni függvény, névvel make_translation (), itt használható a fordítási tábla létrehozására a megadott karakterlánc értéke alapján maketrans () funkció. Kettő mert hurkok és két számláló használható itt az egyes ASCII kódok által leképezett helyes karakter kinyomtatására.

#!/ usr / bin / env python3
 
# Határozza meg a szótár fordítási táblázatra fordításának funkcióját
def make_translation (dictVar, strVar):
# Hozza létre a fordítási táblázatot
trans_table = strVar.maketrans (dictVar)
nyomtatás ("Az eredeti szótár: \ n", dictVar)
print ("A szótár lefordított táblázata: \ n", transz_table)
nyomtatás ("\ n")
# Inicializálja a szótár első számlálóját
számláló1 = 1
kulcshoz1 a dictVar-ban:
# Inicializálja a fordító táblázat második számlálóját
számláló2 = 1
a trans2table kulcshoz2:
ha számláló1 == számláló2:
nyomtatás ("% s lefordítva% d-re"% (kulcs1, kulcs2))
szünet
# Növelje a második számlálót
számláló2 = számláló2 + 1
# Növekszik az első számláló
számláló1 = számláló1 + 1
 
# Definiáljon egy szótárt, ahol a kulcs egy karakterlánc
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definiálja a lefordítandó karakterlistát
string = "ABCD"
# Hívja meg a fordítási funkciót
make_translation (dictData, karakterlánc)

Kimenet:

A következő kimenet jelenik meg a szkript futtatása után. A fordítási táblázat tartalmazza a szótár kulcsértékének ASCII kódját.

2. példa: A maketrans () használata a karakterlánc lefordításához

A következő példa a maketrans () karakterláncadatokkal. Két karakterlánc értéket vesz fel keresőszövegnek, és helyettesíti a szöveget, és ezeket a szöveges értékeket argumentumként használják a maketrans () funkció. Ne feledje, hogy a fordítási táblázat létrehozásához mind a bemeneti, mind a kimeneti szöveg hosszának meg kell egyeznie. Ellenkező esetben hiba keletkezik. A fordít() függvény itt használható a fordítási tábla adatainak string értékekké konvertálására.

#!/ usr / bin / env python3
 
# Írja be a lefordítandó karakterlistát
search = input ("Írja be a kereső karakterek listáját \ n")
# Írja be a cserélni kívánt karakterlistát
csere = input ("Írja be a helyettesítő karakterlistát \ n")
 
# Ellenőrizze a keresés és a karakterlista cseréjének hosszát
ha len (keresés) == len (csere):
 
# Határozza meg a karaktersorozat adatait
original_text = "+8801822594876"
# Készítse el a transzlációs táblázatot a maketrans () segítségével
módosított szöveg = eredeti_ szöveg.maketrans (keresés, csere)
 
# Nyomtassa ki az eredeti szöveget
nyomtatás ("Az eredeti szöveg:", eredeti_szöveg)
# A maketrans () alkalmazása után nyomtassa ki a kimenetet
print ("A leképezési tábla kimenete:", módosított_szöveg)
# Nyomtassa ki a kimenetet a fordítás () alkalmazása után
print ("A kicserélt szöveg:", eredeti_szöveg.fordítás (módosított szöveg)
más:
nyomtatás ("A keresett szöveg és a helyettesítő szöveg hossza nem egyenlő")

Kimenet

A szkript futtatása után, 856 keresési karakterként és 487 a következő kimenetben helyettesítő karakterként tekintendő. Ebben az esetben a 8 helyébe 4 lép, az 5 helyébe a 8 lép, és a 6 helyébe 7 lép a karakterláncban, '+8801822594878.'A módosított kimenet' +4401422894477."

3. példa: A maketrans () használata a karakterláncok lefordításához és törléséhez

Az alábbi példa három argumentum használatát mutatja be a maketrans () metódussal. Itt a húr a fő karakterlánc, ahol a karakterek str1 keresni fogják. Ha bármelyik karakter megegyezik a választott karakterrel, akkor a karakter helyébe a megfelelő karakter lép str2. Ha bármelyik karaktere str3 illeszkedik a karakter bármely karakteréhez húr változó, akkor ez a karakter eltávolításra kerül a húr változó. A maketrans () metódust egyszerre két argumentummal hívják meg, a maketrans () metódust három argumentummal hívják meg egy másik időre.

#!/ usr / bin / env python3
 
# Határozza meg a fő karakterláncot
string = "Linux"
# Határozza meg a keresendő karakterlistát
str1 = "iu"
# Definiálja a cserélendő karakterlistát
str2 = "Ui"
# Határozza meg a törölni kívánt karakterlistát
str3 = "L"
 
# Nyomtassa ki a fő szöveget
nyomtatás ("Az eredeti szöveg:", karakterlánc)
 
# Hozza létre a fordítási táblázatot
dict1 = karakterlánc.maketrans (str1, str2)
print ("\ nA fordítási táblázat: \ n", dict1)
print ("A módosított karakterlánc:", string.lefordítani (dict1))
 
# A karakterek törlése után hozza létre a fordítási táblázatot
dict2 = karakterlánc.maketrans (str1, str2, str3)
print ("\ nA fordítási táblázat a karakterek törlése után: \ n", dict2)
# fordítás után nyomtassa ki a módosított karakterláncot
print ("\ nA módosított karakterlánc a törlés után:", string.lefordítani (dict2))

Kimenet

A következő kimenet jelenik meg a szkript futtatása után. Itt a 'i' és 'u' karakterekLinux"helyébe az" U "és az" i "karakterek lépnek, amikor a maketrans () parancsot két argumentummal hívják meg, és a kimenet"LUnix.'Ha a maketrans () metódust három argumentummal hívják meg, akkor az' L 'karaktert a harmadik argumentum törli, és a kimenet'Unix."

Következtetés

Ez az oktatóanyag megmutatja, hogy a maketrans () metódus segítségével milyen egyszerűen cserélhető le szótár- vagy karakterlánc-adatok tartalma. A karakterláncon belüli egyes karakterek szintén törölhetők ezzel a módszerrel. Remélem, hogy az oktatóanyagban bemutatott példák segítenek a Python felhasználóknak megérteni a maketrans () metódus egyes felhasználásait, és megmutatják, hogyan kell ezt a módszert megfelelően alkalmazni saját szkriptjükben.

A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...
Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...
OpenTTD vs Simutrans
Saját közlekedési szimuláció létrehozása szórakoztató, pihentető és rendkívül csábító lehet. Ezért meg kell győződnie arról, hogy a lehető legtöbb ját...