鱼C论坛

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

[已解决]第12讲第0题不是太明白

[复制链接]
发表于 2017-9-22 12:27:58 | 显示全部楼层 |阅读模式

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

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

x
如图,我把这个第三行改成old.reverse(),则print(new)为[5,4,3,2,1]即和old一样。
那为什么题目中把old赋值6,打印的new就和old不一样了呢,为什么此时print(new)不等于[6]呢
希望能有大神给我解答一下,谢谢大家了
最佳答案
2017-9-22 14:38:07
其实可以这样理解: 把[1,2,3,4,5]想象成一个按顺序装着1,2,3,4,5的瓶子,old =[1,2,3,4,5]相当于把“old”标签贴到了这个瓶子上,new=old相当于又贴了一个“new”标签到同一个瓶子上,old=[6]相当于把old标签撕下来贴到了[6]这个瓶子上;old=[6]如果替换成old.reverse()相当于把贴着“old”标签的瓶子里的东西顺序倒过来了,而此时两个标签贴的还是同一个瓶子,print(new)和print(old)自然都会打印[5,4,3,2,1]
QQ截图20170922122400.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-22 12:54:54 | 显示全部楼层
原因是 python 中都是对象,
源程序中 old 和new 都是指向[1,2,3,4,5]
new = old
new 也指向 [1,2,3,4,5]
old.reverse() = [5,4,3,2,1]
则new也就变为[5,4,3,2,1]
那么
然而,old 重新赋值,但是new 依然是原来的对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-22 14:38:07 | 显示全部楼层    本楼为最佳答案   
其实可以这样理解: 把[1,2,3,4,5]想象成一个按顺序装着1,2,3,4,5的瓶子,old =[1,2,3,4,5]相当于把“old”标签贴到了这个瓶子上,new=old相当于又贴了一个“new”标签到同一个瓶子上,old=[6]相当于把old标签撕下来贴到了[6]这个瓶子上;old=[6]如果替换成old.reverse()相当于把贴着“old”标签的瓶子里的东西顺序倒过来了,而此时两个标签贴的还是同一个瓶子,print(new)和print(old)自然都会打印[5,4,3,2,1]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-22 14:59:14 | 显示全部楼层
2# 说的简单清晰
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-22 15:02:00 | 显示全部楼层
楼主  你可以这么理解  当第一次把old赋值给new的时候 相当于  “复制”  而不是  “剪切”,当把[6]复制给old的时候   new没有被再次赋值,所以还是之前的[1、2、3、4、5]。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-22 15:19:53 | 显示全部楼层
foolwolf0068 发表于 2017-9-22 12:54
原因是 python 中都是对象,
源程序中 old 和new 都是指向[1,2,3,4,5]
new = old

噢,明白了,太感谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-22 15:20:49 | 显示全部楼层
mass 发表于 2017-9-22 14:38
其实可以这样理解: 把[1,2,3,4,5]想象成一个按顺序装着1,2,3,4,5的瓶子,old =[1,2,3,4,5]相当于把“ol ...

你讲的好清楚,我明白了,太感谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-22 15:21:24 | 显示全部楼层
amanionly 发表于 2017-9-22 15:02
楼主  你可以这么理解  当第一次把old赋值给new的时候 相当于  “复制”  而不是  “剪切”,当把[6]复制给 ...

恩恩,好的,谢谢你,我明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-22 15:22:12 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 21:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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