元组是不能被修改的序列,支持序列操作,如+合并, *重复, 索引, 分片。由于元组不支持原处修改,所以只包含创建和访问操作。需要特别注意的是,元组的不可变性只适用于元组本身顶层,而并非其内容。
>>>t = (1, 2, [3, 4])
>>>t[2] = 'spam'
TypeError
>>>t[2][0] = 'spam'
>>>t
(1,2,['spam', 4])
创建
t = (1, )
t = (1, 2, 3)
t = 1, 2, 3
仅当元组作为参数传递给函数以及在print语句中列出事,圆括号才是必不可少的。建议对元组一直使用圆括号,可以增加可读性。
tuple():将序列转换成元组。
count(x)
index(x)
那么,元组存在的意义是什么?元组在两种情况下无可替代,首先元组可以当做映射的键,而列表不行;其次,如果程序中以列表的形式传递一个对象集合,那么它可能在任何地方被改变,但是使用元组的话可以避免这个问题。