鱼C论坛

 找回密码
 立即注册
查看: 2503|回复: 8

关于列表拷贝不理解

[复制链接]
发表于 2019-10-21 21:24:15 | 显示全部楼层 |阅读模式

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

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

x
  1. >>> old = [1, 2, 3, 4, 5]
  2. >>> new = old
  3. >>> old = [6]
  4. >>> print(new)
复制代码




小甲鱼第12讲课后习题这个例题的结果是[1,2,3,4,5],我不相信运行了下还是这个,可是不是说这种列表是没有原则的吗?只是名字不一样,会跟着变,而分片的拷贝才是独立的列表啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-21 21:45:01 | 显示全部楼层
赋值操作符改变了old这个名称对应的物理地址,new的物理地址没变。
有些操作改变了物理地址上的内容,这时候new就会跟着变了。(比如remove())
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-21 23:46:25 From FishC Mobile | 显示全部楼层
视频里有个细节,A=数组,表示A贴在了数组上,B=A,也表示B贴在数组上,而不是A上。所以A贴在别的数组上后,B没变。能不能理解为变量只能贴在具有实质内存的对象上,而不能无限的链接下去
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 09:25:05 | 显示全部楼层
左边给右边,从上往下,有次序
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-22 11:01:48 | 显示全部楼层
记住变量名始终指向的是物理地址;old的物理地址改变了,new指向的物理地址还是[1, 2, 3, 4, 5]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-23 18:52:08 | 显示全部楼层
前进一步 发表于 2019-10-22 09:25
左边给右边,从上往下,有次序

大神,太简洁了啊,没理解啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-23 18:54:45 | 显示全部楼层
Jery_wang09 发表于 2019-10-22 11:01
记住变量名始终指向的是物理地址;old的物理地址改变了,new指向的物理地址还是[1, 2, 3, 4, 5]

这里面的变量名应该有old和new两个吧,照你的说法,变量名指向物理地址,新的赋值为啥old的物理地址改变了啊?,应该是地址不变,而是地址对应的内容改变了吧,还是不理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-24 11:29:39 | 显示全部楼层
  1. >>> old = [1, 2, 3, 4, 5]   ---假设[1,2,3,4,5]的物理地址是a,此时old指向地址a
  2. >>> new = old  此时new也指向地址a
  3. >>> old = [6] 假设[6]的物理地址是b,此时old改为指向地b址,而new依然指向为a
  4. >>> print(new)  打印new所指向的地址的值,即[1, 2, 3, 4, 5]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-24 11:30:17 | 显示全部楼层
润木 发表于 2019-10-23 18:54
这里面的变量名应该有old和new两个吧,照你的说法,变量名指向物理地址,新的赋值为啥old的物理地址改变 ...

>>> old = [1, 2, 3, 4, 5]   ---假设[1,2,3,4,5]的物理地址是a,此时old指向地址a
>>> new = old  此时new也指向地址a
>>> old = [6] 假设[6]的物理地址是b,此时old改为指向地b址,而new依然指向为a
>>> print(new)  打印new所指向的地址的值,即[1, 2, 3, 4, 5]
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-20 04:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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