Come usare i maketrans in Python 3

Come usare i maketrans in Python 3
IL maketrans () La funzione è un metodo di traduzione integrato in Python utilizzato per creare tabelle di conversione di mappatura dei caratteri. Un personaggio viene tradotto in un altro personaggio tramite questo metodo. Questa funzione può essere applicata ai dati di String e Dizionario per mappare i caratteri. La rappresentazione Unicode del carattere viene utilizzata nella tabella di traduzione. IL tradurre() La funzione viene utilizzata per convertire i dati della tabella di traduzione nei dati di stringa. Questo tutorial spiegherà come il maketrans () Il metodo può essere utilizzato in Python per la mappatura dei caratteri.

Sintassi

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

IL maketrans () La funzione si applica al contenuto del corda valore. Questa funzione è in grado di prendere tre argomenti. Il primo argomento è obbligatorio e gli altri due argomenti sono opzionali. Quando viene utilizzato un solo argomento in questo metodo, l'argomento sarà un dizionario. Quando vengono utilizzati due argomenti in questo metodo, entrambi gli argomenti saranno stringhe della stessa lunghezza. Quando vengono utilizzati tre argomenti in questo metodo, il terzo argomento sarà una stringa che rimuoverà i caratteri dai dati della stringa. Gli usi della funzione maketrans () nei dati di stringa e dizionario sono mostrati negli esempi che seguono.

Esempio 1: usando maketrans () per tradurre la chiave del dizionario

Il seguente script mostra l'uso della funzione maketrans () per i dati del dizionario. Prima, è stato detto che la funzione MakeTrans () prende solo un argomento per la variabile del dizionario. Una funzione personalizzata, denominata make_translation (), viene utilizzato qui per creare la tabella di traduzione in base al valore stringa fornito tramite il maketrans () funzione. Due per I loop e due contatori vengono utilizzati qui per stampare il carattere corretto mappato da ciascun codice ASCII.

#!/usr/bin/env python3
# Definisci la funzione per tradurre il dizionario in tabella di traduzione
def make_translation (dictvar, strvar):
# Crea la tabella di traduzione
trans_table = strvar.maketrans (dictvar)
Stampa ("Il dizionario originale è: \ n", dictvar)
Stampa ("La tabella trattata del dizionario è: \ n", trans_table)
print ("\ n")
# Inizializza il primo contatore per il dizionario
Counter1 = 1
per key1 in dictvar:
# Inizializza il secondo contatore per la tabella di traduzione
Counter2 = 1
per key2 in trans_table:
Se Counter1 == Counter2:
Stampa (" %s è tradotto in %d" %(key1, key2))
rottura
# Secondo contatore di incremento
Counter2 = Counter2 + 1
# Incremento del primo contatore
Counter1 = Counter1 + 1
# Definisci un dizionario in cui la chiave è una stringa
dictdata = "a": 90, "b": 59, "c": 81, "d": 75
# Definisci l'elenco dei personaggi da tradurre
String = "ABCD"
# Chiama la funzione di traduzione
make_translation (dictdata, string)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script. La tabella di traduzione contiene il codice ASCII del valore chiave del dizionario.

Esempio 2: usando maketrans () per tradurre i caratteri della stringa

Il seguente esempio mostra l'uso di maketrans () con dati di stringa. Verranno prese due valori di stringa come testo di ricerca e sostituiranno il testo e questi valori di testo verranno utilizzati come argomenti per il maketrans () funzione. Dovresti tenere presente che la lunghezza sia dell'input che del testo di output deve essere la stessa per creare la tabella di traduzione. Altrimenti, verrà generato un errore. IL tradurre() La funzione viene utilizzata qui per convertire i dati della tabella di traduzione in valori di stringa.

#!/usr/bin/env python3
# Inserisci l'elenco dei caratteri che vuoi tradurre
Search = Input ("Immettere l'elenco dei caratteri di ricerca \ n")
# Inserisci l'elenco dei caratteri che si desidera sostituire
Sostituisci = input ("Immettere l'elenco dei caratteri di sostituzione \ n")
# Controlla la durata della ricerca e la sostituzione dell'elenco dei caratteri
Se len (ricerca) == len (sostituire):
# Definisci i dati della stringa
originale_text = "+8801822594876"
# Crea la tabella di tranlazione usando i maketrans ()
modificato_text = original_text.maketrans (ricerca, sostituire)
# Stampa il testo originale
print ("Il testo originale è:", originale_text)
# Stampa l'output dopo l'applicazione di MakeTrans ()
print ("L'output della tabella di mappatura è:", modificato_text)
# Stampa l'output dopo l'applicazione Translate ()
print ("Il testo sostituito è:", originale_text.tradurre (modificato_text))
altro:
Stampa ("La lunghezza del testo di ricerca e il testo di sostituzione non sono uguali")

Produzione

Dopo aver eseguito lo script, 856 è preso come caratteri di ricerca e 487 è preso come sostituti dei caratteri nel seguente output. In questo caso, 8 è sostituito da 4, 5 viene sostituito da 8 e 6 viene sostituito da 7 nella stringa, '+8801822594878.'L'uscita modificata è' +4401422894477.'

Esempio 3: usando maketrans () per tradurre ed eliminare i caratteri nella stringa

L'esempio seguente mostra gli usi di tre argomenti con il metodo MakeTrans (). Qui, il corda è la stringa principale, in cui i personaggi di STR1 sarà perquisito. Se un personaggio corrisponde al carattere scelto, quel carattere verrà sostituito dal carattere corrispondente di STR2. Se qualche carattere di STR3 corrisponde a qualsiasi carattere del corda variabile, quindi quel carattere verrà rimosso da corda variabile. Il metodo MakeTrans () viene chiamato con due argomenti per una volta e il metodo MakeTrans () viene chiamato con tre argomenti per un'altra volta.

#!/usr/bin/env python3
# Definisci la stringa principale
String = "Linux"
# Definisci l'elenco dei caratteri da cercare
str1 = "iu"
# Definire l'elenco dei caratteri da sostituire
str2 = "ui"
# Definisci l'elenco dei caratteri da eliminare
str3 = "L"
# Stampa il testo principale
print ("Il testo originale:", stringa)
# Crea la tabella di traduzione
dict1 = string.Maketrans (STR1, STR2)
Print ("\ nthe Translation Tabella: \ n", dict1)
print ("La stringa modificata:", stringa.tradurre (dict1))
# Crea la tabella di traduzione dopo aver eliminato i caratteri
dict2 = string.Maketrans (STR1, STR2, STR3)
Print ("\ nthe Translation Tabella dopo aver eliminato i caratteri: \ n", dict2)
# Stampa la stringa modificata dopo Translate
print ("\ nthe modificata stringa dopo elimina:", stringa.tradurre (dict2))

Produzione

Il seguente output appare dopo aver eseguito lo script. Qui, "io" e "u" personaggi diLinux"sono sostituiti da personaggi 'u' e 'i' quando chiamano maketrans () con due argomenti e l'output è 'Lunix."Quando il metodo MakeTrans () viene chiamato con tre argomenti, il carattere 'L' viene eliminato dal terzo argomento e l'output è 'Unix.'

Conclusione

Questo tutorial mostra quanto facilmente è possibile sostituire il contenuto del dizionario o dei dati di stringa tramite il metodo MakeTrans (). Caratteri particolari all'interno di una stringa possono anche essere eliminati tramite questo metodo. Spero che gli esempi mostrati in questo tutorial aiuteranno gli utenti di Python a comprendere alcuni degli usi del metodo MakeTrans () e mostreranno come applicare questo metodo correttamente nel proprio script.