Python数据类型:元组

来源:互联网 发布:剑三病娇花萝捏脸数据 编辑:程序博客网 时间:2024/05/16 18:47

数据类型:元组

元组可以看做不可变的列表,它有列表的大多数特点。元组常量用圆括号表示,例如,(1,2)、('a','b','abc')都是元组。

元组特点

元组的主要特点如下:

  • 元组可包含任意类型的对象。

  • 元组是有序的。元组中的对象可通过位置进行索引和分片。

  • 元组的大小不能改变,既不能为元组添加对象,也不能删除元组中的对象。

  • 元组中的对象也不能改变。

  • 与列表类似,元组中存储的是对象的引用,而不是对象本身。

元组的基本操作

元组的基本操作包括创建元组、求长度、合并、重复、迭代、关系判断、索引、分片和矩阵等。

1、创建元组

可用元组常量或tuple()方法来创建元组。例如:

>>> ()              #创建空的元组对象()>>> tuple()         #创建空的元组对象()>>> (2,)            #包含一个对象的元组,这里的逗号不能少(2,)>>> (1,2,5,'abc,',[1,2])    #包含不同类型对象的元组(1, 2, 5, 'abc,', [1, 2])>>> 1,2,5,'abc',[1,2]       #元组常量可以省略括号(1, 2, 5, 'abc', [1, 2])>>> (1,2,('a','b'))         #元组中可以嵌套元组(1, 2, ('a', 'b'))>>> tuple('abcd')           #用字符串创建元组,可迭代对象均可用于创建元组('a', 'b', 'c', 'd')>>> tuple([1,2,3])          #用列表创建元组(1, 2, 3)>>> tuple(x*2 for x in range(5))    #用解析结构创建元组(0, 2, 4, 6, 8)>>>

2、求长度

len()函数可用于获得元组长度。例如:

>>> len((1,2,3,4))4>>>

3、合并

加法运算可用于合并多个元组。例如:

>>> (1,2)+('ab','cd')+(2.45,)(1, 2, 'ab', 'cd', 2.45)>>>

4、重复

乘法运算可用于合并多个重复的元组。例如:

>>> (1,2)*3(1, 2, 1, 2, 1, 2)>>>

5、迭代

可用于迭代遍历元组中的哥哥对象。例如:

>>> for x in (1,2,5,'abc',[1,2]):print(x)...125abc[1, 2]>>>

6、关系判断

in操作符可用于判断对象是否属于元组。例如:

>>> 2 in (1,2)True>>> 5 in (1,2)False>>>

7、索引和分片

可通过位置对元组对象进行索引和分片。例如:

>>> x=tuple(range(10))>>> x(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)>>> x[1]1>>> x[-1]9>>> x[2:5](2, 3, 4)>>> x[2:](2, 3, 4, 5, 6, 7, 8, 9)>>> x[:5](0, 1, 2, 3, 4)>>> x[1:7:2](1, 3, 5)>>> x[7:1:2]()>>> x[7:1:-2](7, 5, 3)>>>

8、矩阵

与列表相似,可用过嵌套的方式用元组来表示不可变的矩阵。例如:

>>> x=((1,2,3),(4,5,6),(7,8,9,))        #嵌套三个子元组>>> len(x)                              #元组长度为3,子元组为一个对象3>>> x[0](1, 2, 3)>>> x[0][1]2>>>

元组方法

元组对象支持两个方法:count()和index()。

1、count()方法

count()方法用于返回指定值在元组出现的次数。例如:

>>> x=(1,2)*3>>> x(1, 2, 1, 2, 1, 2)>>> x.count(1)  #返回1在元组中出现的次数3>>> x.count(3)  #元组不包含指定值时,返回00>>>

2、index(value,[start,[end]])方法

index()方法用于在元组中查找指定值,魏永start和end指定范围时,返回指定值在元组中第一次出现的位置;指定范围时,返回在指定范围内第一次出现的位置。例如:

>>> x=(1,2,3)*3>>> x(1, 2, 3, 1, 2, 3, 1, 2, 3)>>> x.index(2)          #默认查找全部元组1>>> x.index(2,2)        #从偏移量2到元组末尾查找(省略end表示到末尾)4>>> x.index(2,2,7)      #在范围[2:7]内查询,依然是左闭右开区间(python中的区间一般都是左闭右开)4>>> x.index(5)          #如果元组不包含指定的值,则出错Traceback (most recent call last):  File "<stdin>", line 1, in <module>ValueError: tuple.index(x): x not in tuple>>>

转载于《Python 3 基础教程》-邓英 夏帮贵 主编 2016-10第一版

原创粉丝点击