Переменная меняется после того, как я изменил элемент массива, с которым я его определил? - PullRequest
0 голосов
/ 31 октября 2019

Я не могу понять, что происходит на этой картине. Я определяю переменную temp, и она меняется сама по себе после того, как я изменяю массив, с которым я ее определил. Это совсем не то, как я думал.

Я использую Python 3.6.1, если это имеет значение.

Situation

1 Ответ

1 голос
/ 31 октября 2019

Массив numpy не похож на списки Python. Массив является отдельным объектом, и при его индексировании вы получаете фрагменты, которые ссылаются на части массива. Строки не являются независимыми объектами, это просто представления массива.

Таким образом, значение temp является ссылкой на первую строку массива. Присвоение matrika[0] изменяет массив. Это аналогично назначению слайсов с обычными списками, например

matrika = [[1, 2, 3], [4, 5, 6], [5, 5, 5], [53, 1, 2]]
temp = matrika[0]
matrika[0][:] = matrika[1]
print(temp)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...