Pitón

Cómo usar maketrans en Python 3

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

Sintaxis

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

La maketrans () La función se aplica al contenido de la cuerda 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, entonces 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á caracteres de los datos de la cadena. Los usos de la función maketrans () en cadenas y datos de diccionario se muestran en los ejemplos siguientes.

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 () toma solo un argumento para la variable de diccionario. Una función personalizada, llamada make_translation (), se utiliza aquí para crear la tabla de traducción basada en el valor de cadena proporcionado a través de la maketrans () función. Dos por Aquí se utilizan bucles y dos contadores para imprimir el carácter correcto mapeado por cada código ASCII.

#!/ usr / bin / env python3
 
# Definir la función para traducir el diccionario a la tabla de traducción
def make_translation (dictVar, strVar):
# Crea la tabla de traducción
tabla_transformación = strVar.maketrans (dictVar)
print ("El diccionario original es: \ n", dictVar)
print ("La tabla traducida 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:
print ("% s se traduce a% d"% (key1, key2))
rotura
# Incremento del segundo contador
contador2 = contador2 + 1
# Incrementar el primer contador
contador1 = contador1 + 1
 
# Definir un diccionario donde la clave es una cadena
dictData = "A": 90, "B": 59, "C": 81, "D": 75
# Definir lista de caracteres para traducir
cadena = "ABCD"
# Llamar a la función de traducción
make_translation (dictData, cadena)

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án texto, y estos valores de texto se usarán como argumentos para la maketrans () función. Debe tener en cuenta que la longitud del texto de entrada y de salida debe ser la misma para crear la tabla de traducción. De lo contrario, se generará un error. La traducir() La función se utiliza 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
replace = input ("Ingrese la lista de caracteres de reemplazo \ n")
 
# Verifique la duración de la búsqueda y reemplazo de la lista de caracteres
if len (buscar) == len (reemplazar):
 
# Definir los datos de la cadena
texto_original = "+8801822594876"
# Crea la tabla de traducción usando maketrans ()
texto_modificado = texto_original.maketrans (buscar, reemplazar)
 
# Imprime el texto original
print ("El texto original es:", original_text)
# Imprime la salida después de aplicar maketrans ()
print ("La salida de la tabla de mapeo es:", modified_text)
# Imprime la salida después de aplicar translate ()
print ("El texto reemplazado es:", original_text.traducir (texto_modificado))
demás:
print ("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 de reemplazo 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 cuerda es la cadena principal, donde los caracteres de str1 será buscado. Si algún carácter coincide con el personaje elegido, ese carácter será reemplazado por el carácter correspondiente de str2. Si cualquier personaje de str3 coincide con cualquier carácter del cuerda variable, ese carácter se eliminará de la cuerda variable. El método maketrans () se llama con dos argumentos por una vez y el método maketrans () se llama con tres argumentos para otro momento.

#!/ usr / bin / env python3
 
# Definir la cadena principal
string = "Linux"
# Definir la lista de personajes para buscar
str1 = "iu"
# Definir la lista de personajes para reemplazar
str2 = "Ui"
# Definir la lista de personajes para eliminar
str3 = "L"
 
# Imprime el texto principal
print ("El texto original:", cadena)
 
# Crea la tabla de traducción
dict1 = cadena.maketrans (str1, str2)
print ("\ nLa tabla de traducción: \ n", dict1)
print ("La cadena modificada:", cadena.traducir (dict1))
 
# Crea la tabla de traducción después de eliminar caracteres
dict2 = cadena.maketrans (cadena1, cadena2, cadena3)
print ("\ nLa tabla de traducción después de eliminar los caracteres: \ n", dict2)
# imprime la cadena modificada después de traducir
print ("\ nLa cadena modificada después de eliminar:", cadena.traducir (dict2))

Producción

La siguiente salida aparece después de ejecutar el script. Aquí, los caracteres 'i' y 'u' de 'Linux'se reemplazan por los caracteres' U 'e' i 'cuando se llama a maketrans () con dos argumentos, y la salida es'LUnix.'Cuando se llama al método maketrans () con tres argumentos, el tercer argumento elimina el carácter' L 'y la salida es'Unix.'

Conclusión

Este tutorial muestra la facilidad con la que puede reemplazar el contenido del diccionario o los datos de la 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 mostrarán cómo aplicar este método correctamente en su propio script.

Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...
Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...