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

对于改变tuple中的list元素

例子中说t=('a','b',['A','B'])中的['A','B']是list确实没错,但是例子里L=t[2]的意思是把t[2]这个list附给L,可是后面L[0]='X' L[1]='Y'是对L这个变量进行修改,为什么影响了t[2]的值,请懂的朋友从内存指针角度给我讲讲,谢谢!

正在回答

4 回答

L=t[2]是指将元组中第三个元素(即列表)赋值给L,L[0],L[1]是访问列表中的元素,L[0]='X' L[1]='Y'是对列表元素的改变,即指向发生改变了,从而列表内容发生改变,而t[2]是指向列表,从而改变

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

查无此人007 提问者

那也就是说L=t[2]这句话的本质就是创造了一个指向t数组的指针呗,L[1]即为指针下移一位,也就相当于图t[2]指针下移一位呗
2016-02-19 回复 有任何疑惑可以回复我~
#2

昵称2_18位中英文 回复 查无此人007 提问者

有点意思!
2016-05-12 回复 有任何疑惑可以回复我~

从到现在所学来看,赋值只是把数据所在的地址给了变量。

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

好像理解了,但不知道正确不!

L=t[2],L就指向了t[2],t[2]是列表,所以L[0]即指向了列表中元素的地址,所以改变L[0]就可以改变t[2]中的值

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

恩,这个没从指针方向解释啊!L=t[2] 不是L的指针指向了t[2]的位置吗,改变L的值 怎么会改变t[2]的值啊?求解

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

举报

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

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

进入课程

对于改变tuple中的list元素

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