Dave Angel wrote:
Esmail wrote:
Esmail schrieb:
Could someone help confirm/clarify the semantics of the [:] operator
in Python?
a = range(51,55)
############# 1 ##################
b = a[:] # b receives a copy of a, but they are independent
Semi-aside, if I wanted to make local copy of a list sent to me as a
parameter, which of these is the most appropriate to use (I don't want
changes to change the original list sent).
(1) is most appropriate in that case. In fact, unless there is other
code mixed in between, it's always the most appropriate.
Be aware: this is only a shallow copy -- if your copied list contains
mutable objects that you mutate, those changes *will* show up in the
original list.
Shallow copies are useful when, for example, you won't be mutating
objects in the copied list but are adding, removing, or reordering the
copied list.
Hope this helps.
~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list