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

Reply via email to