鱼C论坛

 找回密码
 立即注册
查看: 1662|回复: 7

[已解决]关于入门学习python第011讲和第012讲课后题疑问

[复制链接]
发表于 2018-1-4 15:26:57 | 显示全部楼层 |阅读模式

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

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

x
做完零基础学习python第011讲和第012讲的课后习题之后,有一个问题我仍然很困惑。举个例子:
list1 = [1,2,3,5,4]
list3 = list1
list1.sort()



list1 = [1,2,3,5,4]
list3 = list1
list1 = [2,2,4]

比较的话,第一个情况中输出的是 list3=[1,2,3,4,5]按顺序排列,而第二个情况中,输出的是list3=[1,2,3,5,4]即原来的list1

我的理解是这样子的,望高人帮忙指正一下:
根据小甲鱼课后题的讲解,情况1应该是list1和list3两个标签贴在了[1,2,3,5,4]这一个列表上,而list1.sor1()是对这一列表进行排序整理,所以本质上被贴标签的这个列表自身发生了变化,而标签(list1和list3)还在它身上;
而情况2则可以理解为将list1这个标签撕起来,贴到了另外一个物体(列表)上,而list3还是贴在了原来[1,2,3,5,4]这个物体(列表)上。

不知道我这样的理解是不是小甲鱼视频中想表达的意思?望高手指教
最佳答案
2018-1-4 15:31:10
python中变量名只是标签而已,可以多个标签指向同一块内存
list3 = list1
意味着list1和list3这两个标签指向了同一块内存
所以你对list1和list3指向的数据进行改动,比如列表的pop,sort,reverse等操作都会对两者同时产生作用,因为他们修改了内存中的数据
而你将list1重新赋值,意味着list1标签指向另外一块内存,从此list1和list3再无瓜葛
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-1-4 15:31:10 | 显示全部楼层    本楼为最佳答案   
python中变量名只是标签而已,可以多个标签指向同一块内存
list3 = list1
意味着list1和list3这两个标签指向了同一块内存
所以你对list1和list3指向的数据进行改动,比如列表的pop,sort,reverse等操作都会对两者同时产生作用,因为他们修改了内存中的数据
而你将list1重新赋值,意味着list1标签指向另外一块内存,从此list1和list3再无瓜葛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-4 15:51:00 | 显示全部楼层
感觉应该是这个意思!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-4 16:05:19 | 显示全部楼层
python中变量名只是标签而已
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-4 16:52:01 | 显示全部楼层
应该是这个意思
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-4 23:10:10 | 显示全部楼层
BngThea 发表于 2018-1-4 15:31
python中变量名只是标签而已,可以多个标签指向同一块内存
list3 = list1
意味着list1和list3这两个标签 ...

明白了!感谢亲的解答!非常清楚!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-5 00:42:17 | 显示全部楼层
我也遇到这问题。顺便多问一下,既然变量名只是标签,代表指向的一个内存地址,对变量的一些操作并不影响标签的指向。是不是可以说除了用到‘=’这种重新赋值的操作,其他所有直接对变量进行的操作,比如pop(), sort()这种操作,都不影响标签的指向?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-5 07:43:25 From FishC Mobile | 显示全部楼层
matthewxf 发表于 2018-1-5 00:42
我也遇到这问题。顺便多问一下,既然变量名只是标签,代表指向的一个内存地址,对变量的一些操作并不影响标 ...

可以这么理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 15:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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