鱼C论坛

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

[已解决]列表问题

[复制链接]
发表于 2020-8-14 23:01:36 | 显示全部楼层 |阅读模式

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

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

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

为什么打印出来的是[1, 2, 3, 4, 5]?

最佳答案
2020-8-15 11:15:03
python中变量名是标签,你将变量名重新赋值,意味着将这个标签从原来的地址上撕下来贴到新的地址上去了
可以看看我写的帖子
python细节之2、变量名与标签 变量的赋值与修改

2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-15 00:20:50 | 显示全部楼层
因为你在把原来old的内容[1,2,3,4,5]赋给new之后,new的内容就没变,虽然后来又把old的内容变为[6],但是不影响new。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-15 00:23:27 | 显示全部楼层
>>> old = [1, 2, 3, 4, 5]
>>> new = old
>>> old = [6]
#只是改变了old这个名字(变量)对应的列表
若想“print(new)”得到[6]  此处加一个"new = old"
>>> print(new)

注:  “ = ”是将右侧(变量)的值赋予左侧变量并不意味这左右相等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-15 00:25:03 | 显示全部楼层
file:///C:/Users/Administrator.PC-20170213VLCG/Desktop/1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-15 04:27:03 | 显示全部楼层
代码顺序执行,因为"new = old"赋值操作发生在"old = [6]"赋值操作之前,所以"new"变量的值为"[1, 2, 3, 4, 5]"
正确代码应该是:
old = [1, 2, 3, 4, 5]
old = [6]
new = old
print(new)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-15 08:53:02 | 显示全部楼层
>>> old = [1,2,3,4,5]
>>> old = [6]
>>> new = old
>>> print(new)
[6]
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-15 09:36:09 | 显示全部楼层

                               
登录/注册后可看大图

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

使用道具 举报

发表于 2020-8-15 11:15:03 | 显示全部楼层    本楼为最佳答案   
python中变量名是标签,你将变量名重新赋值,意味着将这个标签从原来的地址上撕下来贴到新的地址上去了
可以看看我写的帖子
python细节之2、变量名与标签 变量的赋值与修改

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 11:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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