Я новичок в Python и только что узнал о изменяемых и неизменяемых объектах. Похоже, что когда мы меняем элементы внутри списка, Python создает копии отдельных элементов, а затем копирует их обратно в список.Как Python меняет элементы внутри списка?
В приведенном выше примере, мы начинаем с n = [[1, 2], [3, 4]]
. Первый подписок, [1, 2]
занимает номер ID 24
, а второй подписок [3, 4]
занимает ID # 96
. Сначала я думал, что, поскольку списки изменяемы, после замены, ID # 24
содержит [3, 4]
и ID # 96
проводит [1, 2]
. Но, как мы видим в вышеприведенном тесте, это не так. Скорее, Python указывает на объекты способом, определенным нашим свопом; первый слот списка указывает на 96
, а второй слот указывает на 24
.
Конечно, идентификатор № n
не изменился, поэтому n
не нарушил определение изменяемого объекта. Но способ, которым подсекреты были заменены, кажется, является оговоркой. Можете ли вы любезно подтвердить или объяснить более точный язык?
Пожалуйста, не используйте изображения. Вместо этого вставьте свой код в виде текста и используйте уценку для правильного форматирования. –
Когда я попытался это исправить, я понял, почему вы предпочитаете текст поверх изображения. Хорошо, в следующий раз. –