I got really confused on the list reference in python. Please help me understand. a simple case as below:

```
arr1 = []
arr2 = [1, 2]
arr1.append(arr2)
#arr2[0] = 5
arr2 = [6]
print(arr1)

```

So after append `arr2` to `arr1` without deep copy, to my understanding any change on `arr2` would be reflected in `arr1`. However, only changing components like `arr2[0] = 5` updates the `arr1`, while `arr2 = [6]` won't. Any reason why?