Я не понимаю, как ссылаются объекты на мелкой копии и глубокой копииPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Я не понимаю, как ссылаются объекты на мелкой копии и глубокой копии

Сообщение Anonymous »

shallow_copy
foo = [1, 2, []]
bar = foo.copy()
foo[0] is bar[0]
foo[2] is bar[2]
< /code>
True
True
< /code>
Означает ли это, что они оба ссылаются на одни и те же объекты?
Однако, когда я их изменяю, они ведут себя по-разному.
bar[0] = 0
print(foo)
< /code>
[1, 2, []]
< /code>
bar[-1].append(3)
print(foo)
< /code>
[1, 2, [3]]
< /code>
if foo[0] and bar[0] are referencing the same object, when I modified bar[0] why did foo[0] stay the same? And when I modified bar[2], foo[2] changed
Deep_Copy
foo = [1, 2, []]
bar = copy.deepcopy(foo)
foo[0] is bar[0] foo[2] is bar[2]
< /code>
True
False
< /code>
Additionally, why foo[2] and bar[2] don't reference the same object here

Подробнее здесь: https://stackoverflow.com/questions/765 ... referenced
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»