So verwenden Sie Maketrans in Python 3

So verwenden Sie Maketrans in Python 3
Der maketrans () Die Funktion ist eine integrierte Übersetzungsmethode in Python, mit der Charakter-Mapping-Conversionstabellen erstellt wurden. Ein Zeichen wird über diese Methode in ein anderes Zeichen übersetzt. Diese Funktion kann auf String- und Wörterbuchdaten angewendet werden, um Zeichen abzubilden. Die Unicode -Darstellung des Zeichens wird in der Übersetzungstabelle verwendet. Der übersetzen() Funktion wird verwendet, um die Daten der Übersetzungstabelle in die String -Daten umzuwandeln. Dieses Tutorial erklärt, wie die maketrans () Die Methode kann in Python für die Charakterzuordnung verwendet werden.

Syntax

Saite.Maketrans (arg1 [, arg2 [, arg3]])

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

Beispiel 1: Verwenden Sie Maketrans (), um den Schlüssel des Wörterbuchs zu übersetzen

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

#!/usr/bin/env python3
# Definieren Sie die Funktion, um das Wörterbuch in die Übersetzungstabelle zu übersetzen
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 tranlierte Wörterbuchtabelle ist: \ n", trans_table)
print ("\ n")
# Initialisieren Sie den ersten Zähler für Wörterbuch
counter1 = 1
Für Key1 in Diktvar:
# Initialisieren Sie den zweiten Zähler für die Übersetzungstabelle
counter2 = 1
für key2 in trans_table:
Wenn counter1 == counter2:
Print (" %S wird auf %d" %(Key1, Key2) übersetzt)
brechen
# Zweiter Zähler inkrementieren
counter2 = counter2 + 1
# Erster Zähler inkrementieren
counter1 = counter1 + 1
# Definieren Sie ein Wörterbuch, bei dem der Schlüssel eine Zeichenfolge ist
dictdata = "A": 90, "B": 59, "C": 81, "D": 75
# Die Zeichenliste definieren, um sie zu übersetzen
String = "ABCD"
# Rufen Sie die Übersetzungsfunktion auf
make_translation (dictdata, String)

Ausgang:

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

Beispiel 2: Verwenden von Maketrans (), um die Zeichen der Zeichenfolge zu übersetzen

Das folgende Beispiel zeigt die Verwendung von maketrans () mit String -Daten. Zwei Zeichenfolgewerte werden als Suchtext und Ersatztext angenommen, und diese Textwerte werden als Argumente für die verwendet maketrans () Funktion. Sie sollten bedenken, dass die Länge sowohl des Eingangs als auch des Ausgabetxtes derselbe sein muss, um die Übersetzungstabelle zu erstellen. Andernfalls wird ein Fehler erzeugt. Der übersetzen() Die Funktion wird hier verwendet, um die Daten der Übersetzungstabelle in Zeichenfolgewerte umzuwandeln.

#!/usr/bin/env python3
# Geben Sie die Zeichenliste ein, die Sie übersetzen möchten
Search = input ("Geben Sie die Liste der Suchzeichen ein \ n"))
# Geben Sie die Zeichenliste ein, die Sie ersetzen möchten
ersetzen = input ("Geben Sie die Liste der Zeichen \ n") ein)
# Überprüfen Sie die Länge des Suchens und Austauschs von Zeichenliste
Wenn Len (Suche) == Len (ersetzen):
# Definieren Sie die String -Daten
origin_text = "+8801822594876"
# Erstellen Sie die Tranlationstabelle mit Maketrans ()
modified_text = original_text.Maketrans (suchen, ersetzen)
# Drucken Sie den Originaltext
print ("Der Originaltext ist:", original_text)
# Drucken Sie den Ausgang nach Anwendung von Maketrans ()
print ("Die Ausgabe der Zuordnungstabelle lautet:", modified_text)
# Drucken Sie die Ausgabe nach Anwendung translate ()
print ("Der ersetzte Text ist:", original_text.translate (modified_text))
anders:
drucken ("Die Länge des Suchtextes und des Ersatztextes sind nicht gleich")

Ausgang

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

Beispiel 3: Verwenden Sie Maketrans (), um Zeichen in der Zeichenfolge zu übersetzen und zu löschen

Das folgende Beispiel zeigt die Verwendung von drei Argumenten mit der Methode maketrans (). Hier das Saite ist die Hauptschnur, wo die Zeichen von STR1 wird durchsucht. Wenn ein Zeichen dem gewählten Zeichen entspricht, wird dieses Zeichen durch das entsprechende Zeichen von ersetzt STR2. Wenn irgendein Charakter von STR3 Übereinstimmung mit jedem Charakter der Saite Variable, dann wird dieses Zeichen aus dem entfernt Saite Variable. Die Methode maketrans () wird mit zwei Argumenten für einmal aufgerufen und die Methode maketrans () wird mit drei Argumenten für ein anderes Mal aufgerufen.

#!/usr/bin/env python3
# Definieren Sie die Hauptzeichenfolge
String = "Linux"
# Definieren Sie die Charakterliste, um zu suchen
STR1 = "IU"
# Definieren Sie die Zeichenliste, die ersetzt, um zu ersetzen
STR2 = "UI"
# Definieren Sie die Charakterliste, um zu löschen
STR3 = "L"
# Drucken Sie den Haupttext
print ("Der Originaltext:", String)
# Erstellen Sie die Übersetzungstabelle
dict1 = String.Maketrans (STR1, STR2)
print ("\ n der Übersetzungstabelle: \ n", dict1)
print ("Die geänderte Zeichenfolge:", String.übersetzen (dict1))
# Erstellen Sie die Übersetzungstabelle nach dem Löschen von Zeichen
dict2 = String.Maketrans (STR1, STR2, STR3)
print ("\ n der Übersetzungstabelle nach dem Löschen der Zeichen: \ n", dict2)
# Drucken Sie die modifizierte Zeichenfolge nach der Übersetzung aus
print ("\ nThe modifizierte Zeichenfolge nach dem Löschen:", String.übersetzen (dict2))

Ausgang

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt. Hier, 'ich' und 'u' Charaktere von 'Linux'werden durch' u 'und' i 'Zeichen ersetzt, wenn sie Maketrans () mit zwei Argumenten aufrufen, und die Ausgabe ist'Lunix."Wenn die Maketrans () -Methode mit drei Argumenten aufgerufen wird, wird das Zeichen" L "durch das dritte Argument gelöscht und die Ausgabe ist"Unix.''

Abschluss

Dieses Tutorial zeigt, wie einfach Sie den Inhalt von Wörterbuch- oder String -Daten über die Maketrans () -Methode ersetzen können. Bestimmte Zeichen innerhalb einer Zeichenfolge können auch durch diese Methode gelöscht werden. Ich hoffe, dass die in diesem Tutorial gezeigten Beispiele den Python -Benutzern helfen, einige der Verwendungen der Maketrans () -Methode zu verstehen, und zeigen, wie diese Methode in ihrem eigenen Skript ordnungsgemäß angewendet wird.