python-3.x - 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
在我创建了列表之后。
我制作了我认为是浅拷贝的东西。
但是最后一个任务是做什么的?它保留其地址,因此不会创建新对象。
我似乎无法在网上找到对此的解释,我应该寻找什么
问候
解决方案
推荐阅读
- linux - 将终端的输出重定向到 libreoffice excel 文件
- javascript - 询问者包,根据以前的答案提出问题
- javascript - 为什么使用 this.get('serviceName') 而不是 this.serviceName?
- terraform - 使用 Terraform/Terragrunt 自动启动/关闭 AMI
- mysql - 没有在 mysql 中修整的 LPAD
- sql - VOLTDB ERROR: SQL ERROR 执行 SQL 时使用了超过 100 MB 的临时表内存
- django - 创建对象时分配给外键字段时的值错误
- python-3.x - Selenium Web 驱动程序 - 尝试单击具有 unselectable="on" 的保存按钮。有没有办法解决这个问题?
- laravel - 从有条件的数据库中获取数据并在视图中显示
- checkstyle - checkstyle 不允许 SuppressWarnings 注释,除非附近有注释