For other examples of how “in-place” operations have different behavior, even if the contents of the data are the same, here’s another thread worth a look. Please read the whole thread, not just the linked post, so see some other exciting results from object and procedure call semantics in python.