Python

Стал изучать программирование. Зачем сам не знаю честно говоря, но не суть. В общем, в языке python есть такая интересная особенность. Если я буду создавать матрицу вот так: [[0]*3]*3 то при изменении одной строки матрицы, изменятся все. Я прочитал что это происходит потому, что ссылочная модель данных и создаётся на самом деле один список [0, 0, 0], а в матрицу помещается просто 3 ссылки на него. Но вот почему так происходит и как это работает я хоть убей не могу понять. Почему при умножении списка, создаются ссылки а не новые списки. Если есть тут бывалые питонисты объясните пожалуйста максимально понятно. Может хоть тут пойму

Поскольку получилось не совсем понятно что я имел ввиду, прикладываю скрин

Python

Как тут видно, когда я меняю элемент А[0][0], то меняется не только он, а так же элементы А[1][0] и А[2][0]

Программирование на python

929 постов11.9K подписчиков

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу