Facebook Page Twitter Page LinkedIn Page
× Python Tutorial Python Advanced Python Resources Python Libraries


The Python String maketrans() method returns mapping table that can be used with the translate() method to replace specified characters.

Syntax

string.maketrans(x, y, z)

Parameters

x Required. If only one argument is specified, it must be a dictionary containing 1-to-1 mapping for translation.
y Optional. It must be a string with equal length as argument x. Each character in the first string will be replaced with the corresponding character in the second string.
z Optional. A string describing characters to remove from the original string. Each character in this argument is mapped to None.

Return Value

Returns the mapping table.

Example: One argument

In the below example, translate() method is to return the translated version of the given string. Here, maketrans() uses one argument to prepare mapping table.

#replace 'L' with 'K'
#and 'H' with 'P'
dict = {'L': 'K', 'H': 'P'}

#preparing the mapping table
MyString = "HELLO"
table = MyString.maketrans(dict)

#print the mapping table
print(table)

#translate and print the string
print(MyString.translate(table))

The output of the above code will be:

{76: 'K', 72: 'P'}
PEKKO

Example: two argument - single character

In the below example, translate() method is to return the translated version of the given string. Here, maketrans() method is used to prepare the mapping table.

str1 = 'L'
str2 = 'K'

MyString = "HELLO"

#preparing the mapping table
#'L' will be replaced by 'K'
table = MyString.maketrans(str1, str2)

#print the mapping table
print(table)

#translate and print the string
print(MyString.translate(table))

The output of the above code will be:

{76: 75}
HEKKO

Example: two argument - multiple characters

In this example, maketrans() method is used to prepare the mapping table to replace multiple characters at once.

str1 = 'HL'
str2 = 'PK'

MyString = "HELLO"

#preparing the mapping table
#'H' will be replaced by 'P'
#'L' will be replaced by 'K'
table = MyString.maketrans(str1, str2)

#print the mapping table
print(table)

#translate and print the string
print(MyString.translate(table))

The output of the above code will be:

{72: 80, 76: 75}
PEKKO

Example: three argument - multiple characters

In this example, third argument of maketrans() method is also used which removes the specified characters.

str1 = 'HL'
str2 = 'PK'
str3 = 'HO'
MyString = "HELLO"

#preparing the mapping table
#first removes 'H' and 'O'
#'H' will be replaced by 'P'
#'L' will be replaced by 'K'
table = MyString.maketrans(str1, str2, str3)

#print the mapping table
print(table)

#translate and print the string
print(MyString.translate(table))

The output of the above code will be:

{72: None, 76: 75, 79: None}
EKK

❮ Python String Methods