为了账号安全,请及时绑定邮箱和手机立即绑定

list中的赋值和变量不一样吗?

58bc13450001661a05400960.jpg
L被赋值后,t[2]为啥跟着变?t[2]的指向又没变只是L的指向变了?

正在回答

3 回答

这里的L并不是重新申请内存单元把t[2]的值复制过来,L和t[2]指向的是同一内存单元,所以L里的元素变化的话,t[2]跟着变化。

0 回复 有任何疑惑可以回复我~
#1

慕粉2204519855 提问者

非常感谢!但是L为啥没有重新申请内存单元呢?不也是变量吗?
2017-03-18 回复 有任何疑惑可以回复我~
#2

慕仙754390 回复 慕粉2204519855 提问者

我觉得应该是因为L=t[2],t[2]相当于一个函数了吧,这个函数的意思是索引到t[2]上,就相当于连接到t[2]上吧。不知道对不对,你知道答案的话分享一下哈~~
2017-04-08 回复 有任何疑惑可以回复我~

L = t[2]使L指向list['A','B'],

L[0] = 'X’

L[1] = 'Y'将list['A','B']更新为list['X','Y']


t[2]仍然指向list ,只不过list变成了['X','Y']而已

0 回复 有任何疑惑可以回复我~

对啊!仔细看示意图,tuple指向的还是list,但是list指向的数据变了。所以tuple“内容”变了。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

list中的赋值和变量不一样吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信