help with something that ought to be simple
Emile van Sebille
emile at fenx.com
Wed Oct 24 22:26:21 EDT 2001
More information about the Python-list mailing list
Wed Oct 24 22:26:21 EDT 2001
- Previous message (by thread): help with something that ought to be simple
- Next message (by thread): Parse XML using DTD ??
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Matthew Nobes" <manobes at fraser.sfu.ca> wrote in message news:Pine.GSO.4.30.0110241644520.26688-100000 at fraser.sfu.ca... <snip> > > Now here comes the problem. I want to add some more stuff to the > output. Here's what I try to do: > > temp=[] > for i in output[2:]: > temp.append(i) This appends references to the objects in output[2:] and probably wants to be temp.append(i[:]) so that a reference to a new copy of the object is pointed to. > > for i in temp: This iterates through i.... > i[rho-1]=i[rho-1]-1 and changes the objects referred to. Note that at this point, the objects referred to have changed, and that references to these changed objects are held in output and temp. > > for i temp: > output.append(i) this appends the object references in temp to output. Most of what python does is bind names with objects. When the objects are mutable (as a list is), changes to the underlying object does not cause a new name binding to occur. Consider: L = [1,2,3] # a new name L has been bound to a new list object [1,2,3] L1 = L # a new name L1 has been bound to the list object [1,2,3] # and that L and L1 now refer to the same list object. L[1] = 0 # element 1 of the list object pointed to by L is changed to a 0 HTH, -- Emile van Sebille emile at fenx.com ---------
- Previous message (by thread): help with something that ought to be simple
- Next message (by thread): Parse XML using DTD ??
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list