鱼C论坛

 找回密码
 立即注册
查看: 2813|回复: 3

零基础12讲有关列表

[复制链接]
发表于 2016-3-11 17:55:09 | 显示全部楼层 |阅读模式

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

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

x
new的值不是赋值给了old吗?old的是多少他就应该多少呀,不明白了求指教

  1. >>> old = [1,2,3,4,5]
  2. >>> new = old
  3. >>> old = [6]
  4. >>> new                         #new的值不是应该随着old的变化而变化吗?old的列表已经变成了【6】那new也应成为6呀
  5. [1, 2, 3, 4, 5]
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-11 18:38:03 | 显示全部楼层
  1. >>> old = [1,2,3,4,5]
  2. >>> new = old
  3. >>> id(old) == id(new)
  4. True
  5. >>> old = [6]
  6. >>> id(old) == id(new)
  7. False
  8. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-11 18:57:45 | 显示全部楼层
python的赋值实际上是为在内存的值贴标签。
old = [1, 2, 3, 4, 5]#将old标签贴在 [1, 2, 3, 4, 5]上
new = old #再把new标签也贴在 [1, 2, 3, 4, 5]上
old = [6]#将old标签从 [1, 2, 3, 4, 5]摘下,再贴在 [6]上(6在其他的内存地址),而new还是贴在 [1, 2, 3, 4, 5]上
如果把第3行的old = [6改为old.append(6),则还是同一个内存地址,new的值也会同步变化。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2016-3-11 19:40:25 | 显示全部楼层
冬雪雪冬 发表于 2016-3-11 18:57
python的赋值实际上是为在内存的值贴标签。
old = [1, 2, 3, 4, 5]#将old标签贴在 [1, 2, 3, 4, 5]上
new ...

明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-20 04:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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