translate in Python
Super Kai (Kazuya Ito)

Super Kai (Kazuya Ito) @hyperkai

About: I'm a web developer. Buy Me a Coffee: ko-fi.com/superkai SO: stackoverflow.com/users/3247006/super-kai-kazuya-ito X(Twitter): twitter.com/superkai_kazuya FB: facebook.com/superkai.kazuya

Joined:
Oct 21, 2021

translate in Python

Publish Date: Aug 4 '25
0 0

Buy Me a Coffee

*Memo:

  • My post explains string, bytes and bytearray functions.

str.translate() and bytes.translate() or bytearray.translate() can translate the string and bytes or bytearray respectively with the dictionary created by str.maketrans() and the bytes or bytearray created by bytes.maketrans() or bytearray.translate() respectively as shown below:

*Memo for str.translate():

  • The 1st argument is table(Required-Type:dict):
    • A dictionary should be created with str.maketrans().
    • Don't use table=.

*Memo for bytes.translate() and bytearray.translate():

  • The 1st argument is table(Required-Type:Bytes-like object):
    • A byte string should be created with bytes.maketrans().
    • Don't use table=.
  • The 2nd argument is delete(Optional-Default:b""-Type:Bytes-like object):
    • It's the zero or more bytes to detele.
  • The one or more bytes of delete is prioritized for deletion rather than replacement.

<String>:

<str.maketrans() with one argument>:

table = str.maketrans({
    'a': 'x',
    'b': 'y',
    'c': 'z',
    '1':'one',
    '2':'two',
    '3':'three',
    ' ': '    ',
    'd': '',
    'e': '',
    'f': '',
    'g': '',
    'h': ''
})

print('AaBbCc'.translate(table))     # AxByCz
print('1 2 3'.translate(table))      # one    two    three
print('DdEeFfGgHh'.translate(table)) # DEFGH

print(''.translate(table))
print(' '.translate(table))
# Nothing
Enter fullscreen mode Exit fullscreen mode

*The below is equivalent to the above.

table = {
    'a': 'x',
    'b': 'y',
    'c': 'z',
    '1':'one',
    '2':'two',
    '3':'three',
    ' ': '    ',
    'd': '',
    'e': '',
    'f': '',
    'g': '',
    'h': ''
}

print(''.join(table.get(c, c) for c in 'AaBbCc'))     # AxByCz
print(''.join(table.get(c, c) for c in '1 2 3'))      # one    two    three
print(''.join(table.get(c, c) for c in 'DdEeFfGgHh')) # DEFGH

print(''.join(table.get(c, c) for c in ''))
print(''.join(table.get(c, c) for c in ' '))
# Nothing
Enter fullscreen mode Exit fullscreen mode

<str.maketrans() with two arguments>:

table = str.maketrans('abc', 'xyz')

print('AaBbCc'.translate(table))     # AxByCz
print('DdEeFfGgHh'.translate(table)) # DdEeFfGgHh

print(''.translate(table))
print(' '.translate(table))
# Nothing
Enter fullscreen mode Exit fullscreen mode
table = str.maketrans('', '')

print('AaBbCc'.translate(table))     # AaBbCc
print('DdEeFfGgHh'.translate(table)) # DdEeFfGgHh

print(''.translate(table))
print(' '.translate(table))
# Nothing
Enter fullscreen mode Exit fullscreen mode

<str.maketrans() with three arguments>:

table = str.maketrans('abc', 'xyz', 'defgh')

print('AaBbCc'.translate(table))     # AxByCz
print('DdEeFfGgHh'.translate(table)) # DEFGH

print(''.translate(table))
print(' '.translate(table))
# Nothing
Enter fullscreen mode Exit fullscreen mode
table = str.maketrans('abc', 'xyz', 'abcdefgh')

print('AaBbCc'.translate(table))     # ABC
print('DdEeFfGgHh'.translate(table)) # DEFGH
Enter fullscreen mode Exit fullscreen mode
table = str.maketrans('', '', '')

print('AaBbCc'.translate(table))     # AaBbCc
print('DdEeFfGgHh'.translate(table)) # DdEeFfGgHh

print(''.translate(table))
print(' '.translate(table))
# Nothing
Enter fullscreen mode Exit fullscreen mode

<Bytes & Bytearray>:

<bytes.translate() & bytearray.translate() without delete>:

table = bytes.maketrans(b'abc', b'xyz')
table = bytes.maketrans(bytearray(b'abc'), bytearray(b'xyz'))
table = bytearray.maketrans(b'abc', b'xyz')
table = bytearray.maketrans(bytearray(b'abc'), bytearray(b'xyz'))

print(b'AaBbCc'.translate(table))
# b'AxByCz'

print(bytearray(b'AaBbCc').translate(table))
# bytearray(b'AxByCz')

print(b'DdEeFfGgHh'.translate(table))
# b'DdEeFfGgHh'

print(bytearray(b'DdEeFfGgHh').translate(table))
# bytearray(b'DdEeFfGgHh')

print(b''.translate(table))
# b''

print(bytearray(b'').translate(table))
# bytearray(b'')

print(b' '.translate(table))
# b' '

print(bytearray(b' ').translate(table))
# bytearray(b' ')
Enter fullscreen mode Exit fullscreen mode
table = bytes.maketrans(b'', b'')
table = bytes.maketrans(bytearray(b''), bytearray(b''))
table = bytearray.maketrans(b'', b'')
table = bytearray.maketrans(bytearray(b''), bytearray(b''))

print(b'AaBbCc'.translate(table))
# b'AaBbCc'

print(bytearray(b'AaBbCc').translate(table))
# bytearray(b'AaBbCc')

print(b'DdEeFfGgHh'.translate(table))
# b'DdEeFfGgHh'

print(bytearray(b'DdEeFfGgHh').translate(table))
# bytearray(b'DdEeFfGgHh')

print(b''.translate(table))
# b''

print(bytearray(b'').translate(table))
# bytearray(b'')

print(b' '.translate(table))
# b' '

print(bytearray(b' ').translate(table))
# bytearray(b' ')
Enter fullscreen mode Exit fullscreen mode

<bytes.translate() & bytearray.translate() with delete>:

table = bytes.maketrans(b'abc', b'xyz')
table = bytes.maketrans(bytearray(b'abc'), bytearray(b'xyz'))
table = bytearray.maketrans(b'abc', b'xyz')
table = bytearray.maketrans(bytearray(b'abc'), bytearray(b'xyz'))
d1 = b'defgh'
d2 = b'abcdefgh'

print(b'AaBbCc'.translate(table, delete=d1))
# b'AxByCz'

print(bytearray(b'AaBbCc').translate(table, delete=d1))
# bytearray(b'AxByCz')

print(b'AaBbCc'.translate(table, delete=d2))
# b'ABC'

print(bytearray(b'AaBbCc').translate(table, delete=d2))
# bytearray(b'ABC')

print(b'DdEeFfGgHh'.translate(table, delete=d1))
print(b'DdEeFfGgHh'.translate(table, delete=d2))
# b'DEFGH'

print(bytearray(b'DdEeFfGgHh').translate(table, delete=d1))
print(bytearray(b'DdEeFfGgHh').translate(table, delete=d2))
# bytearray(b'DEFGH')

print(b''.translate(table, delete=d1))
print(b''.translate(table, delete=d2))
# b''

print(bytearray(b'').translate(table, delete=d1))
print(bytearray(b'').translate(table, delete=d2))
# bytearray(b'')

print(b' '.translate(table, delete=d1))
print(b' '.translate(table, delete=d2))
# b' '

print(bytearray(b' ').translate(table, delete=d1))
print(bytearray(b' ').translate(table, delete=d2))
# bytearray(b' ')
Enter fullscreen mode Exit fullscreen mode
table = bytes.maketrans(b'', b'')
table = bytes.maketrans(bytearray(b''), bytearray(b''))
table = bytearray.maketrans(b'', b'')
table = bytearray.maketrans(bytearray(b''), bytearray(b''))
d1 = b'defgh'
d2 = b'abcdefgh'

print(b'AaBbCc'.translate(table, delete=d1))
# b'AaBbCc'

print(bytearray(b'AaBbCc').translate(table, delete=d1))
# bytearray(b'AaBbCc')

print(b'AaBbCc'.translate(table, delete=d2))
# b'ABC'

print(bytearray(b'AaBbCc').translate(table, delete=d2))
# bytearray(b'ABC')

print(b'DdEeFfGgHh'.translate(table, delete=d1))
print(b'DdEeFfGgHh'.translate(table, delete=d2))
# b'DEFGH'

print(bytearray(b'DdEeFfGgHh').translate(table, delete=d1))
print(bytearray(b'DdEeFfGgHh').translate(table, delete=d2))
# bytearray(b'DEFGH')

print(b''.translate(table, delete=d1))
print(b''.translate(table, delete=d2))
# b''

print(bytearray(b'').translate(table, delete=d1))
print(bytearray(b'').translate(table, delete=d2))
# bytearray(b'')

print(b' '.translate(table, delete=d1))
print(b' '.translate(table, delete=d2))
# b' '

print(bytearray(b' ').translate(table, delete=d1))
print(bytearray(b' ').translate(table, delete=d2))
# bytearray(b' ')
Enter fullscreen mode Exit fullscreen mode

Comments 0 total

    Add comment