Pitone

Come usare maketrans in Python 3

Come usare maketrans in Python 3
Il maketrans() la funzione è un metodo di traduzione integrato in Python utilizzato per creare tabelle di conversione per la mappatura dei caratteri. Un carattere viene tradotto in un altro tramite questo metodo. Questa funzione può essere applicata a stringhe e dati del dizionario per mappare i caratteri. Nella tabella di traduzione viene utilizzata la rappresentazione Unicode del carattere. Il tradurre() la funzione viene utilizzata per convertire i dati della tabella di traduzione nei dati della 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 accettare tre argomenti. Il primo argomento è obbligatorio e gli altri due argomenti sono facoltativi. 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() nelle stringhe e nei dati del dizionario sono mostrati negli esempi che seguono.

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

Il seguente script mostra l'uso della funzione maketrans() per i dati del dizionario. In precedenza, è stato detto che la funzione maketrans() accetta 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 della stringa fornito tramite il maketrans() funzione. Due per 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 nella tabella di traduzione
def make_translation(dictVar, strVar):
# Crea la tabella di traduzione
trans_table = strVar.maketrans(dictVar)
print("Il dizionario originale è: \n", dictVar)
print("La tabella tradotta del dizionario è: \n",trans_table)
stampa("\n")
# Inizializza il primo contatore per il dizionario
contatore1 = 1
per chiave1 in dictVar:
# Inizializza il secondo contatore per la tabella di traduzione
contatore2 = 1
per key2 in trans_table:
se contatore1 == contatore2:
print("%s viene tradotto in %d" %(key1, key2))
rompere
# Incrementa il contatore dei secondi
contatore2 = contatore2 + 1
# Incrementa il primo contatore
contatore1 = contatore1 + 1
 
# Definisci  un dizionario in cui la chiave è una stringa
dictData = "A": 90, "B": 59, "C": 81, "D":75
# Definisci l'elenco dei caratteri da tradurre
stringa = "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: utilizzo di maketrans() per tradurre i caratteri della stringa

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

#!/usr/bin/env python3
 
# Inserisci l'elenco dei caratteri che vuoi tradurre
search = input("Inserisci l'elenco dei caratteri di ricerca \n")
# Inserisci l'elenco dei caratteri che vuoi sostituire
replace = input("Inserisci l'elenco dei caratteri da sostituire \n")
 
# Controlla la lunghezza della ricerca e della sostituzione dell'elenco dei caratteri
if len(cerca) == len(sostituisci):
 
# Definisci i dati della stringa
testo_originale = "+8801822594876"
# Crea la tabella di traduzione usando maketrans()
testo_modificato = testo_originale.maketrans (cerca, sostituisci)
 
# Stampa il testo originale
print("Il testo originale è: ", original_text)
# Stampa l'output dopo aver applicato maketrans()
print("L'output della tabella di mappatura è: ", testo_modificato)
# Stampa l'output dopo aver applicato translate()
print("Il testo sostituito è: " , original_text.translate(modified_text))
altro:
print("La lunghezza del testo di ricerca e il testo di sostituzione non sono uguali")

Produzione

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

Esempio 3: utilizzo di maketrans() per tradurre ed eliminare caratteri nella stringa

L'esempio seguente mostra l'uso di tre argomenti con il metodo maketrans(). qui, il corda è la stringa principale, dove i caratteri di str1 sarà cercato. Se un carattere corrisponde al carattere scelto, quel carattere verrà sostituito dal carattere corrispondente di str2. Se qualsiasi carattere di str3 corrisponde a qualsiasi carattere del corda variabile, allora 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
 
# Definisce la stringa principale
stringa = "Linux"
# Definisci l'elenco dei caratteri da cercare
str1 = "io"
# Definisci 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: ",string)
 
# Crea la tabella di traduzione
dict1 = stringa.maketrans(str1, str2)
print("\nLa tabella di traduzione: \n" ,dict1)
print("La stringa modificata: " ,string.traduci(dict1))
 
# Crea la tabella di traduzione dopo aver eliminato i caratteri
dict2 = stringa.maketrans(str1, str2, str3)
print("\nLa tabella di traduzione dopo aver cancellato i caratteri: \n", dict2)
# stampa la stringa modificata dopo la traduzione
print("\nLa stringa modificata dopo l'eliminazione: ", stringa.traduci(dict2))

Produzione

Il seguente output appare dopo aver eseguito lo script. Qui, i caratteri 'i' e 'u' di 'Linux' sono sostituiti dai caratteri 'U' e 'i' quando si chiama maketrans() con due argomenti e l'output è 'LUnix.' Quando il metodo maketrans() viene chiamato con tre argomenti, il carattere 'L' viene cancellato dal terzo argomento e l'output è 'Unix.'

Conclusione

Questo tutorial mostra con quanta facilità puoi sostituire il contenuto del dizionario o dei dati di stringa tramite il metodo maketrans(). Anche caratteri particolari all'interno di una stringa possono essere eliminati con questo metodo. Spero che gli esempi mostrati in questo tutorial aiutino gli utenti Python a comprendere alcuni degli usi del metodo maketrans() e mostreranno come applicare correttamente questo metodo nel proprio script.

Come modificare il puntatore del mouse e le dimensioni, il colore e lo schema del cursore su Windows 10
Il puntatore del mouse e il cursore in Windows 10 sono aspetti molto importanti del sistema operativo. Questo si può dire anche per altri sistemi oper...
Motori di gioco gratuiti e open source per lo sviluppo di giochi Linux
Questo articolo tratterà un elenco di motori di gioco gratuiti e open source che possono essere utilizzati per lo sviluppo di giochi 2D e 3D su Linux....
Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...