This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ubershmekel
Recipients darrell, ubershmekel
Date 2012-05-04.06:06:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1336111580.46.0.208810153379.issue14719@psf.upfronthosting.co.za>
In-reply-to
Content
This isn't a bug and should be closed. It's more of a stack overflow question.

If you'd like to change this fundamental behavior of a very common operation in python you should make a proposal to the python ideas mailing list at http://mail.python.org/mailman/listinfo/python-ideas

In your example board_2 is equivalent to:

    row = [0] * N
    board_2 = row * N

All the rows are the same initial row. As opposed to board_1 where each row is a new row.

Try this:

    [id(i) for i in board_2]

The initial equivalence is because they do represent the same values (NxN list of all zeroes). What should python compare if not by values?
History
Date User Action Args
2012-05-04 06:06:20ubershmekelsetrecipients: + ubershmekel, darrell
2012-05-04 06:06:20ubershmekelsetmessageid: <1336111580.46.0.208810153379.issue14719@psf.upfronthosting.co.za>
2012-05-04 06:06:19ubershmekellinkissue14719 messages
2012-05-04 06:06:19ubershmekelcreate