This is my code with comments saying the output of the print functions:
def rotLeft(a, d):
    rotArray = a
    arraySize = len(a)
    print(a)#[1, 2, 3, 4, 5]
    for index, item in enumerate(a):
        print(index) # 0 1 2 3 4
        print(item) # 1 1 1 1 1
        rotArray[(index + 1) % arraySize] = item
    return rotArray
if I remove the last for instruction, we can retrieve the correct values. But if we maintan, somehow it does mess up with my original a array. Why this happen, and what is the good practice in this case?
 
    