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
Я не понимаю, как ссылаются объекты на мелкой копии и глубокой копии ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение