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.  之所以有了列表还需要元组的原因主要是:元组的角色类似于“常量”,利用元组的不可变性,可以避免元组在程序中被另一个引用对象修改。

 

posted @ 2011-11-27 16:45  NaN-Hax  阅读(405)  评论(0编辑  收藏  举报