Python核心数据类型——元组
1. 元组(tuple)是一个位置有序的对象的集合,支持嵌套,元素通过偏移来访问,支持基于偏移的操作,如分片和索引,与列表非常相似,但是不支持在原处修改,是不可变的。
2. 通常写成圆括号(而不是方括号)中的一系列项。元组与列表类似,存储的也是指向其元素对象的引用。
#元组的创建方法 >>> t0 = () #空元组 >>> t1 = (0, )#注意有',',这表示单个元素的元组,若去掉',',t1= (0)表示一个整数0,等价于t1 = 0 >>> t2 = (0, 'a', 1.2, 'abc') >>> t3 = 0, 'a', 1.2, 'abc' #在不会引起语法冲突的情况下,Python允许忽略元组的圆括号 >>> t4 = ('abc', (123, 'def'))#嵌套
3. 元组的不可变性只适用于元组本身顶层而非其内容,如元组内部的列表是可以像往常那样修改的。
>>> t1 = ('a', [1, 2, 3]) >>> t1[1].append(4) >>> t1 ('a', [1, 2, 3, 4])
4. 元组不提供字符串、列表和字典中的方法,例如想对元组进行排序,通常先将它转换成列表。
>>> T = (3, 2, 1) >>> L = list(T) >>> L.sort() >>> T = tuple(L) >>> T (1, 2, 3)
5. 之所以有了列表还需要元组的原因主要是:元组的角色类似于“常量”,利用元组的不可变性,可以避免元组在程序中被另一个引用对象修改。