I suggest you should build your list using a list comprehension:
>>>a = [[0]*3 for i in range(3)]
>>>a
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>>a[0][1] = 1
[[0, 1, 0], [0, 0, 0], [0, 0, 0]]
--
Steve R. Hastings"Vita est"
[EMAIL PROTECTED]http://www.blarg.net/~steveha
--
http://mail.python.
> if I do:
>
> a = [ [0] * 3 ] * 3
> a[0][1] = 1
>
> I get
>
> a = [[0,1,0],[0,1,0],[0,1,0]]
The language reference calls '*' the "repetition" operator. It's not
making copies of what it repeats, it is repeating it.
Consider the following code:
>>> a = []
>>> b = []
>>> a == b
True
>>> a is
Norvell Spearman <[EMAIL PROTECTED]> writes:
> Lutz and Ascher have tuple and list assignment as separate entries in
> their assignment statement forms table so I was expecting there to be
> some difference; thanks for setting me straight.
In older Python versions there was a difference between l
Jeffrey Schwab wrote:
> TMTOWTDI, after all. :)
A bit ironic that that's the official motto of Perl, don't you think?
--
Norvell Spearman
--
http://mail.python.org/mailman/listinfo/python-list
Raymond Hettinger wrote:
> It's not different. They are ways of writing the same thing.
Lutz and Ascher have tuple and list assignment as separate entries in their
assignment statement forms table so I was expecting there to be some
difference; thanks for setting me straight.
--
Norvell Spearm
Raymond Hettinger wrote:
>> [spam, ham] = ['yum', 'YUM']
>>
>>I don't see how this is any different than a tuple unpacking assignment:
>>
>> >>> a, b = 1, 2
>
>
> It's not different. They are ways of writing the same thing.
TMTOWTDI, after all. :)
--
http://mail.python.org/mailman/list
> [spam, ham] = ['yum', 'YUM']
>
> I don't see how this is any different than a tuple unpacking assignment:
>
> >>> a, b = 1, 2
It's not different. They are ways of writing the same thing.
Raymond Hettinger
--
http://mail.python.org/mailman/listinfo/python-list