@zhamkazz

Как происходит присваивание матриц?

А-матрица в питоне, пустая
B-матрица в питоне,с данными
присваиваю A=B
начинаю изменять данные в А и меняются данные в B, что делать чтобы такого не было и почему это происходит?
  • Вопрос задан
  • 118 просмотров
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
почему это происходит?

Потому что:
a = [1,2,3,5,6]
b = a
print(id(a))
print(id(b))
# 1552394418184
# 1552394418184

и A, и B - ссылаются после присваивания на один и тот же объект.

что делать чтобы такого не было


b = a.copy()
print(id(a))
print(id(b))
# 1552394980744
# 1552395031496

теперь это два разных объекта
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
solotony
@solotony
покоряю пик Балмера
import copy

b = copy.deepcopy(a)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы