Python内置的元组数据类型:tuple
tuple和list非常类似,但tuple一旦初始化就不能修改,因此它没有append(),insert()这样的方法
当定义一个tuple时,tuple的元素就必须被确定下来
正是因为tuple不可变,所以代码更安全,所以尽可能的用tuple代替list
使用示例:
初始化元组
classmates = ('Michael', 'Bob', 'Tracy')
#其他获取元素的方法和list是一样的,可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素
t = (1, 2) #定义一个tuple,包含1和2
t = () #定义一个空的tuple
t = (1) #定义的不是tuple,是1这个数!这是因为括号()既表示tuple又表示数学公式中的小括号,这就产生了歧义,Python规定这种情况下,按小括号进行计算,计算结果自然是1
t = (1,) #只有1个元素的tuple定义时,可以通过加一个逗号,来消除歧义
定义"可变"元组
list=['A', 'B']
t = ('a', 'b', list)
t[2][0] = 'X'
print(t) #输出:('a', 'b', ['X', 'B']),元组t的第3个元素是list的地址,而t[2][0] = 'X'改变的是保存在list地址上数据的值,地址是没有被改变的