Método translate() en Python

El método translate() en Python devuelve una cadena donde algunos caracteres específicos se reemplazan con el carácter descrito en un diccionario o en una tabla de mapeo.

Utilice el método maketrans() para crear una tabla de mapeo.

Si no se especifica un carácter en el diccionario/tabla, el carácter no se reemplazará.

Si usa un diccionario, debe usar códigos ascii en lugar de caracteres.

Ejemplo

Reemplace cualquier carácter «S» con un carácter «P»:

#use un diccionario con códigos ascii para reemplazar 83 (S) con 80 (P):
mydict = {83:  80}
txt = "Hola Alex!"
print(txt.translate(mydict))

Sintaxis

string.translate(table)

Valores de parámetros

ParámetroDescripción
tablaRequerido. Ya sea un diccionario o una tabla de mapeo que describa cómo realizar el reemplazo

Ejemplo

Use una tabla de mapeo para reemplazar «S» con «P»:

txt = "Hola Alex!"
mytable = txt.maketrans("S", "P")
print(txt.translate(mytable))

Ejemplo

Use una tabla de mapeo para reemplazar muchos caracteres:

txt = "Hola Ale!"
x = "eAl"
y = "eJo"
mytable = txt.maketrans(x, y)
print(txt.translate(mytable))

Ejemplo

El tercer parámetro de la tabla de asignación describe los caracteres que desea eliminar de la cadena:

txt = "Buenas noches Ale!"
x = "eAl"
y = "eJo"
z = "scheno"
mytable = txt.maketrans(x, y, z)
print(txt.translate(mytable))

Ejemplo

El mismo ejemplo anterior, pero usando un diccionario en lugar de una tabla de mapeo:

txt = "Buenas noches Ale!"
mydict = {109: 101, 83: 74, 97: 111, 111: None, 100: None, 110: None, 103: None, 104: None, 116: None}
print(txt.translate(mydict))