Cómo usar Maketrans en Python 3

Cómo usar Maketrans en Python 3
El maketrans () La función es un método de traducción incorporado en Python utilizado para crear tablas de conversión de mapeo de caracteres. Un personaje se traduce a otro personaje a través de este método. Esta función se puede aplicar a los datos de cadena y diccionario para mapear caracteres. La representación unicode del personaje se usa en la tabla de traducción. El traducir() La función se utiliza para convertir los datos de la tabla de traducción en los datos de la cadena. Este tutorial explicará cómo el maketrans () El método se puede usar en Python para el mapeo de personajes.

Sintaxis

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

El maketrans () la función se aplica al contenido del cadena valor. Esta función puede tomar tres argumentos. El primer argumento es obligatorio y los otros dos argumentos son opcionales. Cuando solo se usa un argumento en este método, el argumento será un diccionario. Cuando se utilizan dos argumentos en este método, ambos argumentos serán cadenas de la misma longitud. Cuando se utilizan tres argumentos en este método, el tercer argumento será una cadena que eliminará los caracteres de los datos de la cadena. Los usos de la función maketrans () en la cadena y los datos del diccionario se muestran en los ejemplos que siguen.

Ejemplo 1: Uso de Maketrans () para traducir la clave del diccionario

El siguiente script muestra el uso de la función maketrans () para datos de diccionario. Antes, se mencionó que la función maketrans () solo toma un argumento para la variable del diccionario. Una función personalizada, nombrada make_translation (), se usa aquí para crear la tabla de traducción basada en el valor de cadena proporcionado a través del maketrans () función. Dos para Los bucles y dos contadores se usan aquí para imprimir el carácter correcto mapeado por cada código ASCII.

#!/usr/bin/env python3
# Defina la función para traducir el diccionario a la tabla de traducción
def make_translation (dictvar, strvar):
# Crea la tabla de traducción
trans_table = strvar.Maketrans (dictvar)
Imprimir ("El diccionario original es: \ n", dictvar)
Imprimir ("La tabla translada del diccionario es: \ n", trans_table)
imprimir ("\ n")
# Inicializar el primer contador para el diccionario
contador1 = 1
Para Key1 en dictvar:
# Inicializar el segundo contador para la tabla de traducción
contador2 = 1
Para Key2 en Trans_table:
Si contador1 == contador2:
imprimir (" %s se traduce al %d" %(key1, key2))
romper
# Incremento segundo contador
contador2 = contador2 + 1
# Incremento primer contador
contador1 = contador1 + 1
# Defina un diccionario donde la clave es una cadena
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definir la lista de caracteres para traducir
String = "ABCD"
# Llamar a la función de traducción
make_translation (dictData, string)

Producción:

La siguiente salida aparecerá después de ejecutar el script. La tabla de traducción contiene el código ASCII del valor clave del diccionario.

Ejemplo 2: Uso de Maketrans () para traducir los caracteres de la cadena

El siguiente ejemplo muestra el uso de maketrans () con datos de cadena. Se tomarán dos valores de cadena como texto de búsqueda y reemplazar texto, y estos valores de texto se utilizarán como argumentos para el maketrans () función. Debe tener en cuenta que la longitud de la entrada y el texto de salida deben ser lo mismo para crear la tabla de traducción. De lo contrario, se generará un error. El traducir() La función se usa aquí para convertir los datos de la tabla de traducción en valores de cadena.

#!/usr/bin/env python3
# Ingrese la lista de caracteres que desea traducir
Search = input ("Ingrese la lista de caracteres de búsqueda \ n")
# Ingrese la lista de caracteres que desea reemplazar
reemplazar = input ("Ingrese la lista de caracteres de reemplazo \ n")
# Verifique la duración de la lista de búsqueda y reemplazo de caracteres
Si len (búsqueda) == len (reemplazar):
# Defina los datos de la cadena
original_text = "+8801822594876"
# Crea la tabla de transmisión usando maketrans ()
modificado_text = original_text.Maketrans (buscar, reemplazar)
# Imprima el texto original
imprimir ("El texto original es:", original_text)
# Imprima la salida después de aplicar maketrans ()
imprimir ("La salida de la tabla de mapeo es:", modificado_text)
# Imprima la salida después de aplicar traducir ()
imprimir ("El texto reemplazado es:", original_text.traducir (modificado_text))
demás:
Imprimir ("La longitud del texto de búsqueda y el texto de reemplazo no son iguales")

Producción

Después de ejecutar el script, 856 se toma como caracteres de búsqueda y 487 se toma como caracteres reemplazar en la siguiente salida. En este caso, 8 se reemplaza por 4, 5 se reemplaza por 8 y 6 se reemplaza por 7 en la cadena, '+8801822594878.'La salida modificada es' +4401422894477.'

Ejemplo 3: Uso de maketrans () para traducir y eliminar caracteres en la cadena

El siguiente ejemplo muestra los usos de tres argumentos con el método maketrans (). Aquí el cadena es la cadena principal, donde los caracteres de str1 será buscado. Si algún personaje coincide con el personaje elegido, entonces ese personaje será reemplazado por el personaje correspondiente de str2. Si algún personaje de str3 coincide con cualquier personaje del cadena variable, entonces ese personaje se eliminará del cadena variable. El método maketrans () se llama con dos argumentos para una vez y el método maketrans () se llama con tres argumentos para otro momento.

#!/usr/bin/env python3
# Defina la cadena principal
String = "Linux"
# Defina la lista de caracteres para buscar
str1 = "iu"
# Defina la lista de caracteres para reemplazar
str2 = "ui"
# Defina la lista de caracteres para eliminar
str3 = "l"
# Imprima el texto principal
imprimir ("El texto original:", cadena)
# Crea la tabla de traducción
dict1 = cadena.Maketrans (STR1, STR2)
Imprimir ("\ nthe Tabla de traducción: \ n", dict1)
imprimir ("la cadena modificada:", cadena.traducir (dict1))
# Crea la tabla de traducción después de eliminar los caracteres
dict2 = cadena.Maketrans (STR1, STR2, STR3)
Imprimir ("\ nthe Tabla de traducción después de eliminar los caracteres: \ n", dict2)
# Imprima la cadena modificada después de traducir
imprimir ("\ nthe String modificado después de eliminar:", cadena.traducir (dict2))

Producción

La siguiente salida aparece después de ejecutar el script. Aquí, 'yo' y 'u' personajes de 'Linux'son reemplazados por caracteres' u 'y' i 'al llamar a maketrans () con dos argumentos, y la salida es'Lunix.'Cuando el método maketrans () se llama con tres argumentos, entonces el carácter' l 'es eliminado por el tercer argumento y la salida es'Desastre.'

Conclusión

Este tutorial muestra cuán fácilmente puede reemplazar el contenido de los datos de diccionario o cadena a través del método maketrans (). Los caracteres particulares dentro de una cadena también se pueden eliminar a través de este método. Espero que los ejemplos que se muestran en este tutorial ayuden a los usuarios de Python a comprender algunos de los usos del método maketrans () y muestren cómo aplicar este método correctamente en su propio script.