On Sat, Nov 14, 2009 at 3:25 PM, AON LAZIO <aonla...@gmail.com> wrote: > Hi, I have some problem with object reference > Say I have this code > > a = b = c = None > slist = [a,b,c]
Values are stored in the list, not references to names. Modifying the list does not change what values the names a, b, and c have. There is no Python-level notion of pointers. > for i in range(len(slist)): > slist[i] = 5 This modifies the contents of the list, it does not affect any other variables/names. > print slist > print a,b,c > > I got this > [5, 5, 5] > None None None > > Question is how can I got all a,b,c variable to have value 5 also? Use tuple unpacking: #at start of code slist = [None]*3 #... #at end of code a, b, c = slist I would also recommend reading http://effbot.org/zone/call-by-object.htm for a good explanation of how Python's variables work. Cheers, Chris -- http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list