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.