首页 > 解决方案 > Python3 理解列表赋值(浅/深拷贝或参考)

问题描述

我想知道下面最后两个列表分配有什么区别

List1 = [0x1,0x2,0x3,0x4]
print('{}, 0x{:X}'.format(List1, id(List1)))
List1 = List1[1:]
print('{}, 0x{:X}'.format(List1, id(List1)))
List1[:] = List1[1:]
print('{}, 0x{:X}'.format(List1, id(List1)))

我执行此操作时的打印输出是

[1, 2, 3, 4], 0x2DBA09E8C88
[2, 3, 4], 0x2DBA1342B48
[3, 4], 0x2DBA1342B48

在我创建了列表之后。

我制作了我认为是浅拷贝的东西。

但是最后一个任务是做什么的?它保留其地址,因此不会创建新对象。

我似乎无法在网上找到对此的解释,我应该寻找什么

问候

标签: python-3.xlist

解决方案


推荐阅读