Python String translate()

translate() method takes the translation table to replace/translate characters in the given string as per the mapping table.

The translation table is created by the static method maketrans().

The syntax of the translate() method is:

string.translate(table)

String translate() Parameters

translate() method takes a single parameter:

  • table - a translation table containing the mapping between two characters; usually created by maketrans()

Return value from String translate()

translate() method returns a string where each character is mapped to its corresponding character as per the translation table.


Example 1: Translation/Mapping using a translation table with translate()

# first string
firstString = "abc"
secondString = "ghi"
thirdString = "ab"

string = "abcdef"
print("Original string:", string)

translation = string.maketrans(firstString, secondString, thirdString)

# translate string
print("Translated string:", string.translate(translation))

Output

Original string: abcdef
Translated string: idef

Here, the translation mapping translation contains the mapping from a, b and c to g, h and i respectively.

But, the removal string thirdString resets the mapping to a and b to None.

So, when the string is translated using translate(), a and b are removed, and c is replaced i outputting idef.

Note: If you cannot understand what's going inside maketrans(), please refer to String maketrans().


Example 2: Translation/Mapping with translate() with manual translation table

# translation table - a dictionary
translation = {97: None, 98: None, 99: 105}

string = "abcdef"
print("Original string:", string)

# translate string
print("Translated string:", string.translate(translation))

Output

Original string: abcdef
Translated string: idef

Here, we don't create a translation table from maketrans() but, we manually create the mapping dictionary translation.

This translation is then used to translate string to get the same output as the previous example.

Did you find this article helpful?