鱼C论坛

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

[已解决]零基础入门python12讲第一题

[复制链接]
发表于 2020-6-3 20:18:50 | 显示全部楼层 |阅读模式

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

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

x
>>> old = [1, 2, 3, 4, 5]
>>> new = old
>>> old = [6]
>>> print(new)
这道题为什么是6. 不是说new 会随old改变而改变吗   old 变成6,为什么new 还是原来的[1,2,3,4,5]
最佳答案
2020-6-3 20:24:12
本帖最后由 Twilight6 于 2020-6-3 20:28 编辑

在这里  old  和 new 都是 列表 [1,2,3,4,5] 的别名,old 和 new 都指向的是 [1,2,3,4,5] 列表

而 old = [6] 是直接赋值,而不是在列表[1,2,3,4,5]上进行改变就是将 old 重新改变 id  指向了新的列表 [6]   所以 new 不会改变,因为 列表本身 [1,2,3,4,5] 没发生改变

你可以通过 Python 的内置函数 id() 来查询列表的地址是否相同
old = [1,2,3,4,5]
new = old 
print('old的id地址:',id(old),'new的id地址:',id(new))

你会发现这样 他们的 id 地址相同

而old = [6] 之后呢?
old = [1,2,3,4,5]
new = old 
print('old的id地址:',id(old),'new的id地址:',id(new))
old = [6]
print('old的id地址:',id(old),'new的id地址:',id(new))

你会发现地址不同了,也就是赋值会直接改变地址,而不是在原来列表上进行改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-3 20:24:12 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-6-3 20:28 编辑

在这里  old  和 new 都是 列表 [1,2,3,4,5] 的别名,old 和 new 都指向的是 [1,2,3,4,5] 列表

而 old = [6] 是直接赋值,而不是在列表[1,2,3,4,5]上进行改变就是将 old 重新改变 id  指向了新的列表 [6]   所以 new 不会改变,因为 列表本身 [1,2,3,4,5] 没发生改变

你可以通过 Python 的内置函数 id() 来查询列表的地址是否相同
old = [1,2,3,4,5]
new = old 
print('old的id地址:',id(old),'new的id地址:',id(new))

你会发现这样 他们的 id 地址相同

而old = [6] 之后呢?
old = [1,2,3,4,5]
new = old 
print('old的id地址:',id(old),'new的id地址:',id(new))
old = [6]
print('old的id地址:',id(old),'new的id地址:',id(new))

你会发现地址不同了,也就是赋值会直接改变地址,而不是在原来列表上进行改变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 20:24:49 | 显示全部楼层
old 指向 [1,2,3,4,5]

new 指向old,也就是指向[1,2,3,4,5]

old重新指向[6],

new还是指向[1,2,3,4,5]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 20:31:59 | 显示全部楼层
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊求求你了搜索下吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-3 20:53:52 | 显示全部楼层
你把变量想象成标签,old是贴到[1,2,3,4,5],new = old也是贴到[1,2,3,4,5],但是把old贴到[6],new还是没变
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-6 10:55:30 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 19:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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