鱼C论坛

 找回密码
 立即注册
查看: 723|回复: 5

[已解决]求助第012讲测试第0题:深拷贝与浅拷贝

[复制链接]
发表于 2020-3-30 15:07:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> old = [1, 2, 3, 4, 5]
>>> new = old
>>> old = [6]
>>> print(new)

为什么这个输出 是[1, 2, 3, 4, 5]?
这里没有使用[:],不是应该随着原数组变化而变化吗?
最佳答案
2020-3-30 15:16:24
土豆泥是个球 发表于 2020-3-30 15:15
这个就是会随着变化是因为sort只是改变排序,没改变标签吗?
还是因为什么这个就会变化?

对的,列表的内置方法不会改变标签
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-30 15:10:27 | 显示全部楼层
和贴标签一样:
这个直接把old的标签撕了下来,贴给了6
new当然是不会变化的啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 15:13:44 | 显示全部楼层
本帖最后由 heidern0612 于 2020-3-30 15:33 编辑

你把列表当做实际的物体,变量当做标签。

①、old贴在【1,2,3,4,5】上。

②、new和old都贴在[1,2,3,4,5]上。

③、old挪走贴在[6]上。

④、new还是没动,仍贴在[1,2,3,4,5]上。



简单说,就是两个变量同时指向一个地址,一个变量指向一个新地址后,另外一个变量指向的地址没变化。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 15:15:50 | 显示全部楼层
qiuyouzhi 发表于 2020-3-30 15:10
和贴标签一样:
这个直接把old的标签撕了下来,贴给了6
new当然是不会变化的啦
>>> list1 = [1, 3, 2, 9, 7, 8]
>>> list3 = list1
>>> list3
[1, 3, 2, 9, 7, 8]
>>> list1.sort()
>>> list3
[1, 2, 3, 7, 8, 9]


这个就是会随着变化是因为sort只是改变排序,没改变标签吗?
还是因为什么这个就会变化?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 15:16:24 | 显示全部楼层    本楼为最佳答案   
土豆泥是个球 发表于 2020-3-30 15:15
这个就是会随着变化是因为sort只是改变排序,没改变标签吗?
还是因为什么这个就会变化?

对的,列表的内置方法不会改变标签

评分

参与人数 1荣誉 +5 鱼币 +1 贡献 +3 收起 理由
土豆泥是个球 + 5 + 1 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 15:31:46 | 显示全部楼层
heidern0612 发表于 2020-3-30 15:13
你把列表当做实际的物体,变量当做标签。

①、old贴在【1,2,3,4,5】上。

谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-25 12:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表