bytearray_slice_assign.py 992 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. try:
  2. bytearray()[:] = bytearray()
  3. except TypeError:
  4. print("SKIP")
  5. raise SystemExit
  6. # test slices; only 2 argument version supported by MicroPython at the moment
  7. x = bytearray(range(10))
  8. # Assignment
  9. l = bytearray(x)
  10. l[1:3] = bytearray([10, 20])
  11. print(l)
  12. l = bytearray(x)
  13. l[1:3] = bytearray([10])
  14. print(l)
  15. l = bytearray(x)
  16. l[1:3] = bytearray()
  17. print(l)
  18. l = bytearray(x)
  19. #del l[1:3]
  20. print(l)
  21. l = bytearray(x)
  22. l[:3] = bytearray([10, 20])
  23. print(l)
  24. l = bytearray(x)
  25. l[:3] = bytearray()
  26. print(l)
  27. l = bytearray(x)
  28. #del l[:3]
  29. print(l)
  30. l = bytearray(x)
  31. l[:-3] = bytearray([10, 20])
  32. print(l)
  33. l = bytearray(x)
  34. l[:-3] = bytearray()
  35. print(l)
  36. l = bytearray(x)
  37. #del l[:-3]
  38. print(l)
  39. # slice assignment that extends the array
  40. b = bytearray(2)
  41. b[2:] = bytearray(10)
  42. print(b)
  43. b = bytearray(10)
  44. b[:-1] = bytearray(500)
  45. print(len(b), b[0], b[-1])
  46. # extension with self on RHS
  47. b = bytearray(x)
  48. b[4:] = b
  49. print(b)
  50. # Assignment of bytes to array slice
  51. b = bytearray(2)
  52. b[1:1] = b"12345"
  53. print(b)