I have experienced peculiar bugs from this [:] copy.
[:]
The docs say [:] makes only a shallow copy but seems:
a = [1,2,3] id(
The difference is that the elements of list a and list b are the same. Changing mutable objects in either list also effects the elements in the other list.
In contrast there is deepcopy which tries to create a completely different set of objects.