less than 1 minute read

Python arrays.

Copying arrays can be 2 ways. Either a shallow copy or a deep copy. If we did B = A then B points to he same object as A and any changes in A will be seen in B. If we did B = list(A) then any changes in A will not be seen in B. Also if our array was a list of objects and we used B = copy.copy(A) then this creates a shallow copy. If the objects in A change their properties then objects in B will also reflect this change since they both refer to the same objects in memory. However, B = copy.deepcopy(A) completely duplicates all objects in A and if there is change in properties of objects in A they will not be reflected in B. Images make this distinction more clear.

These are from stackoverflow Shallow: Shallow Deep: Deep