Python

Comment utiliser maketrans dans Python 3

Comment utiliser maketrans dans Python 3
le maketrans() la fonction est une méthode de traduction intégrée dans Python utilisée pour créer des tables de conversion de mappage de caractères. Un caractère est traduit en un autre caractère via cette méthode. Cette fonction peut être appliquée aux données de chaîne et de dictionnaire pour mapper les caractères. La représentation Unicode du caractère est utilisée dans la table de traduction. le Traduire() la fonction est utilisée pour convertir les données de la table de traduction en données de chaîne. Ce tutoriel expliquera comment le maketrans() la méthode peut être utilisée en Python pour le mappage de caractères.

Syntaxe

chaîne.maketrans(arg1 [, arg2 [, arg3]])

le maketrans() fonction s'applique au contenu de la chaîne valeur. Cette fonction est capable de prendre trois arguments. Le premier argument est obligatoire et les deux autres arguments sont facultatifs. Lorsqu'un seul argument est utilisé dans cette méthode, alors l'argument sera un dictionnaire.  Lorsque deux arguments sont utilisés dans cette méthode, les deux arguments seront des chaînes de la même longueur. Lorsque trois arguments sont utilisés dans cette méthode, le troisième argument sera une chaîne qui supprimera des caractères des données de chaîne. Les utilisations de la fonction maketrans() dans les données de chaîne et de dictionnaire sont illustrées dans les exemples qui suivent.

Exemple 1 : Utilisation de maketrans() pour traduire la clé du dictionnaire

Le script suivant montre l'utilisation de la fonction maketrans() pour les données du dictionnaire. Avant, il a été mentionné que la fonction maketrans() ne prend qu'un seul argument pour la variable de dictionnaire. Une fonction personnalisée, nommée make_translation(), est utilisé ici pour créer la table de traduction basée sur la valeur de chaîne fournie via le maketrans() une fonction. Deux pour des boucles et deux compteurs sont utilisés ici pour imprimer le caractère correct mappé par chaque code ASCII.

#!/usr/bin/env python3
 
# Définir la fonction pour traduire le dictionnaire en table de traduction
def make_translation(dictVar, strVar):
# Créer la table de traduction
trans_table = strVar.maketrans(dictVar)
print("Le dictionnaire d'origine est : \n", dictVar)
print("La table traduite du dictionnaire est : \n",trans_table)
print("\n")
# Initialiser le premier compteur pour le dictionnaire
compteur1 = 1
pour key1 dans dictVar :
# Initialiser le deuxième compteur  pour la table de traduction
compteur2 = 1
pour key2 dans trans_table :
si compteur1 == compteur2 :
print("%s est traduit en %d" %(key1, key2))
Pause
# Incrémenter le deuxième compteur
compteur2 = compteur2 + 1
# Incrémenter le premier compteur
compteur1 = compteur1 + 1
 
# Définir un dictionnaire où key est une chaîne
dictData = "A": 90, "B": 59, "C": 81, "D":75
# Définir la liste des caractères à traduire
chaîne = "ABCD"
# Appeler la fonction de traduction
make_translation(dictData,string)

Production:

La sortie suivante apparaîtra après l'exécution du script. La table de traduction contient le code ASCII de la valeur clé du dictionnaire.

Exemple 2 : Utilisation de maketrans() pour traduire les caractères de la chaîne

L'exemple suivant montre l'utilisation de maketrans() avec des données de chaîne. Deux valeurs de chaîne seront prises comme texte de recherche et texte de remplacement, et ces valeurs de texte seront utilisées comme arguments pour le maketrans() une fonction. Vous devez garder à l'esprit que la longueur du texte d'entrée et de sortie doit être la même pour créer la table de traduction. Sinon, une erreur sera générée. le Traduire() la fonction est utilisée ici pour convertir les données de la table de traduction en valeurs de chaîne.

#!/usr/bin/env python3
 
# Entrez la liste de caractères que vous souhaitez traduire
search = input("Entrez la liste des caractères recherchés \n")
# Entrez la liste de caractères que vous souhaitez remplacer
replace = input("Entrez la liste des caractères de remplacement \n")
 
# Vérifiez la longueur de la recherche et du remplacement de la liste de caractères
si len(recherche) == len(remplacer):
 
# Définir les données de chaîne
texte_original = "+8801822594876"
# Créer la table de traduction en utilisant maketrans()
texte_modifié = texte_original.maketrans(rechercher, remplacer)
 
# Imprimer le texte original
print("Le texte original est : ", original_text)
# Imprimer la sortie après avoir appliqué maketrans()
print("La sortie de la table de mappage est : ", modified_text)
# Imprimer la sortie après avoir appliqué translate()
print("Le texte remplacé est : " , original_text.traduire (texte_modifié))
autre:
print("La longueur du texte de recherche et le texte de remplacement ne sont pas égaux")

Production

Après avoir exécuté le script, 856 est pris comme caractères de recherche et 487 est pris comme caractères de remplacement dans la sortie suivante. Dans ce cas, 8 est remplacé par 4, 5 est remplacé par 8 et 6 est remplacé par 7 dans la chaîne, '+8801822594878.' La sortie modifiée est '+4401422894477.'

Exemple 3 : Utilisation de maketrans() pour traduire et supprimer des caractères dans la chaîne

L'exemple suivant montre les utilisations de trois arguments avec la méthode maketrans(). Ici le chaîne est la chaîne principale, où les caractères de str1 sera recherché. Si un caractère correspond au caractère choisi, alors ce caractère sera remplacé par le caractère correspondant de str2. Si un caractère de str3 correspond à n'importe quel caractère du chaîne variable, alors ce caractère sera supprimé de la chaîne variable. La méthode maketrans() est appelée avec deux arguments pour une fois et la méthode maketrans() est appelée avec trois arguments pour une autre fois.

#!/usr/bin/env python3
 
# Définir la chaîne principale
chaîne = "Linux"
# Définir la liste des caractères à rechercher
str1 = "iu"
# Définir la liste des caractères à remplacer
str2 = "Ui"
# Définir la liste des caractères à supprimer
str3 = "L"
 
# Imprimer le texte principal
print("Le texte original : ",chaîne)
 
# Créer la table de traduction
dict1 = chaîne.maketrans(str1, str2)
print("\nLa table de traduction : \n" ,dict1)
print("La chaîne modifiée : " ,string.traduire(dict1))
 
# Créer la table de traduction après avoir supprimé des caractères
dict2 = chaîne.maketrans(str1, str2, str3)
print("\nLa table de traduction après suppression des caractères : \n", dict2)
# imprime la chaîne modifiée après la traduction
print("\nLa chaîne modifiée après suppression : ", chaîne.traduire(dict2))

Production

La sortie suivante apparaît après l'exécution du script. Ici, les caractères 'i' et 'u' de 'Linux' sont remplacés par les caractères 'U' et 'i' lors de l'appel de maketrans() avec deux arguments, et la sortie est 'LUnix.' Lorsque la méthode maketrans() est appelée avec trois arguments, le caractère 'L' est supprimé par le troisième argument et la sortie est 'Unix.'

Conclusion

Ce tutoriel montre avec quelle facilité vous pouvez remplacer le contenu d'un dictionnaire ou de données de chaîne via la méthode maketrans(). Des caractères particuliers dans une chaîne peuvent également être supprimés via cette méthode. J'espère que les exemples présentés dans ce tutoriel aideront les utilisateurs de Python à comprendre certaines des utilisations de la méthode maketrans() et montreront comment appliquer correctement cette méthode dans leur propre script.

Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...
Installez le dernier émulateur Dolphin pour Gamecube et Wii sur Linux
L'émulateur Dolphin vous permet de jouer aux jeux Gamecube et Wii de votre choix sur des ordinateurs personnels Linux (PC). Étant un émulateur de jeu...
Comment utiliser le moteur de triche GameConqueror sous Linux
L'article couvre un guide sur l'utilisation du moteur de triche GameConqueror sous Linux. De nombreux utilisateurs qui jouent à des jeux sur Windows u...