Python

So verwenden Sie Maketrans in Python 3

So verwenden Sie Maketrans in Python 3
Das maketrans() Die Funktion ist eine integrierte Übersetzungsmethode in Python, die zum Erstellen von Konvertierungstabellen für die Zeichenzuordnung verwendet wird. Ein Zeichen wird mit dieser Methode in ein anderes Zeichen übersetzt. Diese Funktion kann auf Zeichenfolgen- und Wörterbuchdaten angewendet werden, um Zeichen abzubilden. Die Unicode-Darstellung des Zeichens wird in der Übersetzungstabelle verwendet. Das Übersetzen() Funktion wird verwendet, um die Daten der Übersetzungstabelle in die String-Daten umzuwandeln. Dieses Tutorial erklärt, wie die maketrans() -Methode kann in Python für die Zeichenzuordnung verwendet werden.

Syntax

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

Das maketrans() Funktion gilt für den Inhalt der Schnur Wert. Diese Funktion kann drei Argumente annehmen. Das erste Argument ist obligatorisch und die anderen beiden Argumente sind optional. Wenn in dieser Methode nur ein Argument verwendet wird, ist das Argument ein Wörterbuch.  Wenn in dieser Methode zwei Argumente verwendet werden, sind beide Argumente Zeichenfolgen derselben Länge. Wenn in dieser Methode drei Argumente verwendet werden, ist das dritte Argument eine Zeichenfolge, die Zeichen aus den Zeichenfolgendaten entfernt. Die Verwendung der Funktion maketrans() in String- und Wörterbuchdaten wird in den folgenden Beispielen gezeigt.

Beispiel 1: Verwenden von maketrans() zum Übersetzen des Schlüssels des Wörterbuchs

Das folgende Skript zeigt die Verwendung der Funktion maketrans() für Wörterbuchdaten. Zuvor wurde erwähnt, dass die Funktion maketrans() nur ein Argument für die Wörterbuchvariable benötigt. Eine benutzerdefinierte Funktion namens make_translation(), wird hier verwendet, um die Übersetzungstabelle basierend auf dem bereitgestellten Zeichenfolgenwert über das . zu erstellen maketrans() Funktion. Zwei zum Schleifen und zwei Zähler werden hier verwendet, um das richtige Zeichen zu drucken, das jedem ASCII-Code zugeordnet ist.

#!/usr/bin/env python3
 
# Definieren Sie die Funktion zum Übersetzen des Wörterbuchs in die Übersetzungstabelle
def make_translation(dictVar, strVar):
# Erstellen Sie die Übersetzungstabelle
trans_table = strVar.maketrans(dictVar)
print("Das ursprüngliche Wörterbuch ist: \n", dictVar)
print("Die übersetzte Wörterbuchtabelle ist: \n",trans_table)
print("\n")
# Initialisieren Sie den ersten Zähler für das Wörterbuch
Zähler1 = 1
für key1 in dictVar:
# Initialisieren Sie den zweiten Zähler  für die Übersetzungstabelle
Zähler2 = 1
für key2 in trans_table:
wenn Zähler1 == Zähler2:
print("%s wird in %d übersetzt" %(key1, key2))
Unterbrechung
# Sekundenzähler erhöhen
Zähler2 = Zähler2 + 1
# Inkrementiere den ersten Zähler
Zähler1 = Zähler1 + 1
 
# Definiere ein Wörterbuch, in dem key eine Zeichenfolge ist
dictData = "A": 90, "B": 59, "C": 81, "D":75
# Zeichenliste zum Übersetzen definieren
Zeichenfolge = "ABCD"
# Rufen Sie die Übersetzungsfunktion auf
make_translation(dictData,string)

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Die Übersetzungstabelle enthält den ASCII-Code des Schlüsselwerts des Wörterbuchs.

Beispiel 2: Verwenden von maketrans() zum Übersetzen der Zeichen des Strings

Das folgende Beispiel zeigt die Verwendung von maketrans() mit String-Daten. Zwei Zeichenfolgenwerte werden als Suchtext und Ersetzungstext verwendet, und diese Textwerte werden als Argumente für die maketrans() Funktion. Beachten Sie, dass die Länge des Eingabe- und Ausgabetextes gleich sein muss, um die Übersetzungstabelle zu erstellen. Andernfalls wird ein Fehler generiert. Das Übersetzen() Hier wird die Funktion verwendet, um die Übersetzungstabellendaten in Zeichenfolgenwerte umzuwandeln.

#!/usr/bin/env python3
 
# Geben Sie die Zeichenliste ein, die Sie übersetzen möchten
search = input("Geben Sie die Suchzeichenliste ein \n")
# Geben Sie die Zeichenliste ein, die Sie ersetzen möchten
replace = input("Geben Sie die Liste der ersetzenden Zeichen ein \n")
 
# Überprüfen Sie die Länge der Such- und Ersetzungszeichenliste
if len(suchen) == len(ersetzen):
 
# Definieren Sie die String-Daten
original_text = "+8801822594876"
# Erstellen Sie die Übersetzungstabelle mit maketrans()
modifizierter_text = original_text.maketrans(suchen, ersetzen)
 
# Drucken Sie den Originaltext
print("Der Originaltext ist: ", original_text)
# Ausgabe nach Anwendung von maketrans() ausgeben
print("Die Ausgabe der Zuordnungstabelle ist: ", modified_text)
# Ausgabe der Ausgabe nach Anwendung von translate()
print("Der ersetzte Text ist: " , original_text.übersetzen(modifizierter_text))
sonst:
print("Die Länge von Suchtext und Ersetzungstext sind nicht gleich")

Ausgabe

Nach dem Ausführen des Skripts, 856 wird als Suchzeichen verwendet und 487 wird in der folgenden Ausgabe als Ersatzzeichen verwendet. In diesem Fall wird 8 durch 4 ersetzt, 5 wird durch 8 ersetzt und 6 wird durch 7 in der Zeichenfolge „+8801822594878“ ersetzt.' Die modifizierte Ausgabe ist '+4401422894477.'

Beispiel 3: Verwenden von maketrans() zum Übersetzen und Löschen von Zeichen im String

Das folgende Beispiel zeigt die Verwendung von drei Argumenten mit der Methode maketrans(). Hier die Schnur ist die Hauptzeichenfolge, in der die Zeichen von str1 wird gesucht. Wenn ein Zeichen mit dem ausgewählten Zeichen übereinstimmt, wird dieses Zeichen durch das entsprechende Zeichen von . ersetzt str2. Wenn ein Zeichen von str3 passt zu jedem Zeichen der Schnur variabel, dann wird dieses Zeichen aus der entfernt Schnur Variable. Die Methode maketrans() wird einmal mit zwei Argumenten aufgerufen und die Methode maketrans() wird ein weiteres Mal mit drei Argumenten aufgerufen.

#!/usr/bin/env python3
 
# Definiere den Hauptstring
string = "Linux"
# Definieren Sie die zu durchsuchende Zeichenliste
str1 = "iu"
# Definieren Sie die zu ersetzende Zeichenliste
str2 = "Ui"
# Definieren Sie die zu löschende Zeichenliste
str3 = "L"
 
# Drucken Sie den Haupttext
print("Der Originaltext: ",string)
 
# Erstellen Sie die Übersetzungstabelle
dict1 = Zeichenfolge.maketrans(str1, str2)
print("\nDie Übersetzungstabelle: \n", dict1)
print("Der geänderte String: " ,string.übersetzen(dikt1))
 
# Erstellen Sie die Übersetzungstabelle nach dem Löschen von Zeichen
dict2 = Zeichenfolge.maketrans(str1, str2, str3)
print("\nDie Übersetzungstabelle nach dem Löschen der Zeichen: \n", dict2)
# drucke den geänderten String nach dem Übersetzen
print("\nDer geänderte String nach dem Löschen: ", string.übersetzen(dikt2))

Ausgabe

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts. Hier 'i' und 'u' Zeichen von 'Linux' werden durch die Zeichen 'U' und 'i' ersetzt, wenn maketrans() mit zwei Argumenten aufgerufen wird, und die Ausgabe ist 'LUnix.' Wenn die Methode maketrans() mit drei Argumenten aufgerufen wird, wird das Zeichen 'L' durch das dritte Argument gelöscht und die Ausgabe ist 'Unix.'

Fazit

Dieses Tutorial zeigt, wie einfach Sie den Inhalt von Dictionary- oder String-Daten mit der Methode maketrans() ersetzen können. Bestimmte Zeichen innerhalb einer Zeichenfolge können auch mit dieser Methode gelöscht werden. Ich hoffe, dass die in diesem Tutorial gezeigten Beispiele Python-Benutzern helfen, einige der Verwendungen der maketrans()-Methode zu verstehen und zu zeigen, wie diese Methode richtig in ihrem eigenen Skript angewendet wird.

Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...
Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...