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

这个是为啥是错的?不是说单个元素就不可变吗?

t = ('a', 'b', 'A', 'B')

print t


正在回答

2 回答

确实你不可变的,如果说是这样子的:

t = (('a', 'b'),( 'A', 'B'))
print t

单个元素在tuple定义之后不可变,我这里加的括号,此时这里就只有两个元素,就是括号内,括号的内容就是List。


所以例子中这句话也是很好的解释。你看的时候多看看这个图形和句子就会明白的。

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

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

WuerRain 提问者

非常感谢!
2018-07-29 回复 有任何疑惑可以回复我~
#2

WuerRain 提问者

但是对于这个题来说,t = ('a', 'b', ['A', 'B']),其中的 ['A', 'B'] 是一个list,如果把它换成括号的话,那它还是一个集合吗?就是上面这句【指向一个list,就不能改成指向其他对象】
2018-07-29 回复 有任何疑惑可以回复我~
#3

Soler索莱尔HO 回复 WuerRain 提问者

对的,理解的时候和文中的那个图是一致的。你随意组合之后再画图分析一下就清楚了。
2018-07-29 回复 有任何疑惑可以回复我~

好的,谢谢啦

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

举报

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

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

进入课程

这个是为啥是错的?不是说单个元素就不可变吗?

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