Comment utiliser des maketrans dans Python 3

Comment utiliser des 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 cartographie des caractères. Un personnage est traduit dans un autre personnage via cette méthode. Cette fonction peut être appliquée aux données de chaîne et de dictionnaire pour cartographier les caractères. La représentation Unicode du caractère est utilisée dans le tableau 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 dans Python pour la cartographie des caractères.

Syntaxe

chaîne.Maketrans (Arg1 [, Arg2 [, Arg3]])

Le Maketrans () La fonction s'applique au contenu du 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 seront utilisés dans cette méthode, le troisième argument sera une chaîne qui supprimera les 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 affiché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 du dictionnaire. Une fonction personnalisée, nommée Make_translation (), est utilisé ici pour créer la table de traduction en fonction de la valeur de chaîne fournie via le Maketrans () 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éfinissez la fonction pour traduire le dictionnaire en table de traduction
Def Make_translation (Dictvar, Strvar):
# Créez le tableau de traduction
trans_table = strvar.Maketrans (Dictvar)
Print ("Le dictionnaire original est: \ n", dictvar)
print ("Le tableau du dictionnaire transé est: \ n", trans_table)
print ("\ n")
# Initialiser le premier compteur pour le dictionnaire
compteur 1 = 1
pour Key1 dans Dictvar:
# Initialiser le deuxième compteur pour la table de traduction
Counter2 = 1
pour Key2 dans trans_table:
Si Counter1 == Counter2:
print ("% s est traduit par% d"% (key1, key2)))
casser
# Incrément deuxième compteur
Counter2 = Counter2 + 1
# Incrément premier compteur
Counter1 = Counter1 + 1
# Définir un dictionnaire où la clé est une chaîne
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Définissez la liste des caractères pour traduire
String = "ABCD"
# Appelez la fonction de traduction
Make_translation (dictData, String)

Sortir:

La sortie suivante apparaîtra après l'exécution du script. Le tableau 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 en tant que texte de recherche et remplaceront le texte, et ces valeurs de texte seront utilisées comme arguments pour le Maketrans () fonction. Vous devez garder à l'esprit que la longueur de l'entrée et du texte de sortie doit être la même pour créer le tableau 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 des personnages que vous souhaitez traduire
search = input ("Entrez la liste des caractères de recherche \ n")
# Entrez la liste des caractères que vous souhaitez remplacer
remplacer = entrée ("Entrez la liste des caractères de remplacement \ n")
# Vérifiez la longueur de la recherche et du remplacement de la liste des caractères
Si Len (Search) == Len (remplacer):
# Définir les données de chaîne
original_text = "+8801822594876"
# Créez le tableau de la transmission à l'aide de maketrans ()
Modified_text = original_text.Maketrans (recherche, remplacer)
# Imprimez le texte original
print ("Le texte original est:", original_text)
# Imprimez la sortie après avoir appliqué Maketrans ()
print ("La sortie de la table de mappage est:", Modified_text)
# Imprimez la sortie après avoir appliqué Translate ()
Print ("Le texte remplacé est:", Original_Text.traduire (modified_text))
autre:
Imprimer ("La longueur du texte de recherche et le texte de remplacement ne sont pas égaux")

Sortir

Après avoir exécuté le script, 856 est pris comme des caractères de recherche et 487 est considéré comme remplacer les caractères 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 fouillé. Si un personnage 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é du 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
String = "Linux"
# Définissez la liste des personnages à rechercher
str1 = "iu"
# Définissez la liste des caractères à remplacer
str2 = "ui"
# Définissez la liste des personnages à supprimer
str3 = "l"
# Imprimez le texte principal
Print ("Le texte original:", String)
# Créez le tableau de traduction
dict1 = chaîne.Maketrans (Str1, Str2)
Print ("\ nthe Tableau de traduction: \ n", dict1)
print ("La chaîne modifiée:", chaîne.traduire (dict1))
# Créez la table de traduction après la suppression des caractères
dict2 = chaîne.Maketrans (Str1, Str2, Str3)
Imprimer ("\ nthe Tableau de traduction après avoir supprimé les caractères: \ n", dict2)
# Imprimez la chaîne modifiée après traduire
print ("\ nhe string modifié après la suppression:", chaîne.traduire (dict2))

Sortir

La sortie suivante apparaît après l'exécution du script. Ici, «je» et «u» des personnages de »Linux«sont remplacés par des caractères« u »et« i »lors de l'appel de maketrans () par 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 des données de dictionnaire ou 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 indiqué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.