Python常见数据类型——Tuple元组

tuple和list非常类似,但是tuple一旦初始化就不能修改

[toc]

创建tuple

>>> classmates = ('A', 'B', 'C')

此时,classmates这个tuple不能改变,它也没有append(),insert()这样的方法。

其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能将其赋值为另外的元素。

因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

空tuple

>>> t = ()
>>> t
()

只有一个元素的tuple

错误写法

不能直接使用括号()!!!

>>> t = (1)
>>> t
1 #定义的不是tuble,而是一个数

正解

加一个逗号,消除歧义

>>> t = (1,)
>>> t
(1,)

“可变"的tuble

当tuble中包含list元素时,仍然可以对list进行修改,tuble仍指向该list

>>> t = (1, ['x', 'y', 'z'])
>>> t[1][2] = 'a'
>>> t
(1, ['x', 'a', 'z'])

个人理解:tuble相当于一个指针数组,指向每个元素,对元素本身的更改并不会影响tuble的指向

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus