2D lists

Alan James Salmoni alan_salmoni at yahoo.com
Tue Jan 21 16:06:28 EST 2003


Mikael Olofsson <mikael at isy.liu.se> wrote in message news:<mailman.1043153918.28499.python-list at python.org>...
> On 21 Jan 2003 03:12:10 -0800
> alan salmoni at yahoo.com (Alan James Salmoni) wrote:
> > a = [0] * 3
> > b = []
> > b.append(a)
> > b.append(a)
> 
> Not so good:
> 
> >>> a = [0] * 3
> >>> b = []
> >>> b.append(a)
> >>> b.append(a)
> >>> b
>  [[0, 0, 0], [0, 0, 0]]
> >>> b[0][0]=1
> >>> b
> [[1, 0, 0], [1, 0, 0]]
> 
> Oops!
> 

Oops indeed! You spotted my deliberate mistake! ;) What I *meant* to
say (lol!) was this:

>>>import copy
>>>a = [0] * 3
>>>b = []
>>>b.append(copy.copy(a))
>>>b.append(copy.copy(a))
>>>b[0][0] = 1
>>> b
[[1, 0, 0], [0, 0, 0]]

Got it at last!!! (sorry, it's been a *long* day!)

Alan.




More information about the Python-list mailing list