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

“可变”变为“不可变”,为什么将中括号去点后,还要加上括号。去掉中括号后本身不就是不可变的吗?

t = ('a', 'b', ['A', 'B']) print t 直接将中括号[ ]去掉不行吗?为何还得加上括号( ),感觉有点多此一举。 有哪位大神能答疑,谢谢了~

正在回答

3 回答

因为这个t表示的是(元素1,元素2,元素3),只不过元素3是一个list,中间包含了A,B两个元素。

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

幕布斯644163 提问者

t = ('a', 'b', ['A', 'B']) 也就是说,初始化时定义了是三个元素,若是将中括号去掉,而不加括号,相当于将原来的三个元素变更为四个,这样的话与tuple的定义相违背。当去掉中括号,加上括号后tuple中还是三个元素,符合tuple的初始化的规定---不可变。 谢谢了!
2017-12-13 回复 有任何疑惑可以回复我~

我觉得在定义时,还是可以直接去掉中括号的,因为是初始化,还未做任何其他操作,只不过根据该题要求应该加上括号,以保证更改后的tuple元素的个数与题中的tuple元素个数保持一致。

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

t = ('a', 'b', ['A', 'B']) 也就是说,初始化时定义了是三个元素,若是将中括号去掉,而不加括号,相当于将原来的三个元素变更为四个,这样的话与tuple的定义相违背。当去掉中括号,加上括号后tuple中还是三个元素,符合tuple的初始化的规定---不可变。

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

举报

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

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

进入课程

“可变”变为“不可变”,为什么将中括号去点后,还要加上括号。去掉中括号后本身不就是不可变的吗?

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