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

4-9 tuple例子难道不是只修改了L,并未修 t[2] 本身吗?

4-9节之tuple的例子:
t=('a', 'b', ['A', 'B'])
L=t[2]
L[0]='X'
L[1]='Y'
print t

结果为:
('a', 'b', ['X', 'Y'])

疑问:
难道不是只将 t[2]赋给了L,修改了L,并未修改原来的 t[2]吗?

正在回答

3 回答

我修改的是L中的元素,但是它还是含有两个元素的List,只是里面的内容改变了 ,但是他的本质是不变的,还是由两个元素,一个List组成的tuple。

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

这个问题很好,让我对python语言特性的思考又深入了一点点...

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

这个例子中tuple[2]是指向L的,tuple的元素不可改变值得是tuple[2]指向L不可变,但是L是list,它里面的元素是可变的。好比tuple[2]放的是L的钥匙,但是L存储空间里面住了谁,是可以变的。我也是初学,不知道解释的对不对,大家讨论下。

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

举报

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

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

进入课程

4-9 tuple例子难道不是只修改了L,并未修 t[2] 本身吗?

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