E.Nurminski wrote: > Hello to all good people > > I am new to the great Py so am quite puzzled by the following code > > --------------- > > res = [] > x = [ 1, 1 ] > for i in xrange(0,5): > res.append(x) > x[1] = x[1] + 1 > print "x = ", x > print "res = ", res > > --------------- > > Looks like it puts smth like reference to 'x' into 'res' list, instead of > value. But if I want a value should I use a different method or what ? > > Evgeni > > P.S. Could not easily find the issue in the manual/tutorial can you point > me out to smth relevant ? > It's best, in Python, to consider *everything* to be a reference to an object. Most actions will work with a reference to an existing object, and creating a new reference to an object will almost never create a copy of the object. If you *do* want to create an object, you may consider using the copy module:
http://docs.python.org/lib/module-copy.html (But I must point out, that in 12 years of programming Python, I've hardly ever used that module.) Gary Herron -- http://mail.python.org/mailman/listinfo/python-list