DEV Community

Super Kai (Kazuya Ito)
Super Kai (Kazuya Ito)

Posted on • Edited on

Bytearray functions in Python (1)

Buy Me a Coffee

*Memo:

  • My post explains bytearray functions (2).
  • My post explains string, bytes and bytearray functions.

append() can add a byte to the index of the bytearray length in the bytearray as shown below:

*Memo:

  • The 1st argument is item(Required-Type:int):
    • Don't use item=.
v = bytearray(b'AB')

v.append(ord('C'))
# v.append(67)

print(v)
# bytearray(b'ABC')

v.append(ord('D'))
# v.append(68)

print(v)
# bytearray(b'ABCD')
Enter fullscreen mode Exit fullscreen mode

extend() can add bytes to the indices after the last index in the bytearray as shown below:

*Memo:

v = bytearray(b'AB')

v.extend([ord('C')])
# v.extend([67])
# v.extend(b'C')
# v.extend(bytearray(b'C'))
# v += b'C'
# v += bytearray(b'C')

print(v)
# bytearray(b'ABC')

v.extend([ord('D'), ord('E')])
# v.extend([68, 69])
# v.extend(b'DE')
# v.extend(bytearray(b'DE'))
# v += b'DE'
# v += bytearray(b'DE')

print(v)
# bytearray(b'ABCDE')

v.extend([])
# v.extend(b'')
# v.extend(bytearray(b''))
# v += b''
# v += bytearray(b'')

print(v)
# bytearray(b'ABCDE')
Enter fullscreen mode Exit fullscreen mode

insert() can add a byte to index in the bytearray in the range [The 1st index, The bytearray length] as shown below:

*Memo:

  • The 1st argument is index(Required-Type:int):
    • Don't use index=.
  • The 2nd argument is item(Required-Type:int):
    • Don't use item=.
  • index can be signed indices(zero and positive and negative indices).
  • If the bytearray isn't empty and index is out of range, item is added to the 1st index or the index of the bytearray length without error:
    • If out-of-range index is the closest to the 1st index, item is added to it.
    • If out-of-range index is the closest to the index of the bytearray length, item is added to it.
  • If the bytearray is empty and index is out of range, item is added to the index 0(-1) without error.
v = bytearray(b'ab')

v.insert(1, ord('X'))
# v.insert(-1, ord('X'))
# v.insert(1, 88)
# v.insert(-1, 88)

print(v)
# bytearray(b'aXb')

v.insert(0, ord('Y'))
# v.insert(-3, ord('Y'))
# v.insert(0, 89)
# v.insert(-3, 89)
# v.insert(-100, ord('Y'))
# v.insert(-100, 89)

print(v)
# bytearray(b'YaXb')

v.insert(4, ord('Z'))
# v.insert(4, 90)
# v.insert(100, ord('Z'))
# v.insert(100, 90)

print(v)
# bytearray(b'YaXbZ')
Enter fullscreen mode Exit fullscreen mode
v = bytearray(b'')

v.insert(0, ord('X'))
# v.insert(-1, ord('X'))
# v.insert(-100, ord('X'))
# v.insert(100, ord('X'))
# v.insert(0, 88)
# v.insert(-1, 88)
# v.insert(-100, 88)
# v.insert(100, 88)

print(v)
# bytearray(b'X')
Enter fullscreen mode Exit fullscreen mode

Top comments (0)