New submission from Jaap Woldringh <jjhwoldri...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue39368>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to