[New-bugs-announce] [issue39368] A matrix (list of lists) behaves differently, depending how it is created

Jaap Woldringh report at bugs.python.org
Fri Jan 17 07:55:23 EST 2020


New submission from Jaap Woldringh <jjhwoldringh at ziggo.nl>:

Python used:
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
In Ubuntu 18.04.3

But in any other version of Python3, and Python2,  that I tried, the behaviour of a (square) matrix depends on how it is created; as I can demonstrate in a test program matrix_experiment.py that is attached to this report.

1. it behaves as expected when created by entering all it’s elements like so:
A = [[ 1,2,3],[1,2,3],[1,2,3]]

2. If it is created by appending predefined rows, it behaves as if all rows are the same as the last row:
row = [1,2,3]
B=[]
for i in range(3):
    B.appends(row)

The result matrix is the same as A:   [[1, 2, 3], [1, 2, 3], [1, 2, 3]]

Both results are equal:

print(A==B) gives True.

But when using B the result is disastrous as the attached matrix_experiment.py
program shows.

I consider this a very serious bug, and first filed it at Ubuntu’s Launchpad, but I don't find it there.
So now I file this again, at Python.org itself, using my new account.

----------
components: Tests
files: matrix_experiment.py
messages: 360182
nosy: jjhwoldringh
priority: normal
severity: normal
status: open
title: A matrix (list of lists) behaves differently, depending how it is created
type: behavior
versions: Python 3.6
Added file: https://bugs.python.org/file48849/matrix_experiment.py

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue39368>
_______________________________________


More information about the New-bugs-announce mailing list