tuple元组
1.概述
本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示
特点:一旦初始化,就不能发生改变
2.元组的创建
格式:
元组名 = (元素1, 元素2 ,元素3,...)
#创建空的元组
tuple1= ()
print(tuple1)
#创建带有元素的元组
tuple2=(22,33,14,109)
print(tuple2)
#与列表类似,元组中的元素类型可以不同
tuple3= (23,True,"good")
print(tuple3)
#定义只有一个元素的元组
tuple4= (1)#这定义的不是元组而是整数1
tuple4= (1,)#定义一个元素的元组定义时必须加一个逗号",",用来消除歧义
3.元组元素的访问
3.1 访问元组中的元素:
格式: 元组名[下标]
tuple1= (20,40,201,401)
print(tuple1[0])
#注意使用下标取值的时候,要注意下标的取值范围,不要下标越界
#获取最后一个元素
print(tuple1[-1])
3.2 修改元组
在元组定义的时候大家都知道元组一旦初始化就不能改变,但是现在如果我想改变元组怎么办呢?
元组是不能修改的,但是列表可以,元组中的元素的数据类型可以是不同类型的,因此我们可以通过在元组中添加一个列表,而列表是可以修改的,进而来”修改“我们的元组
tuple1= ('hello','you',[20,30])
#修改元组
tuple1[0] ='hi'
#报错,元组不能修改
tuple1[2][1] ='good'
注意:从表面上看我们的元组确实是改变了,但其实改变的不是我们的元组,而是list的元素,所谓的tuple不变是说,tuple的每个元素的指向永远不变,一旦它指向了这个list,就不能改指向其他的对象,但是指向的list本身是可变的!
3.3 删除元组
元组是不可变的,但是我们可以使用del语句删除整个元组
tuple1= ('hello','hi')
deltuple1
print(tuple1)
#此时会报错
4.元组操作
4.1 元组连接组合
语法:
元组1 元组2
元组3 = 元组1 + 元组2
tuple1= (1,2,3)
tuple2= (4,5,6)
print(tuple1+tuple2)
#结果
(1,2,3,4,5,6)
注意:元素连接组合并没有改变原来的元组,而是生成了一个新的元组。
4.2 元组重复
语法:
元组2 = 元组1 * n
tuple1= (1,2,3)
tuple2=tuple1*3
print(tuple2)
#结果
(1,2,3,1,2,3,1,2,3)
4.3 判断元素是否在元组中
语法:
元素 in 元组
若存在则返回True,否则返回False
tuple1= (1,2,3)
print(1intuple1)
#结果
True
tuple1= (1,2,3)
print(5intuple1)
#结果
False
4.4 元组的截取
语法:
元组名[start:end]
截取的元组范围[start,end)
功能:获取开始下标到结束下标之前的所有元素。
若不指定start则默认是从开头开始截取到指定位置
若不指定end则默认从指定位置截取到结尾
tuple1= (1,2,3,8,'hello','good')
tuple2=tuple1[2:5]
print(tuple2)
#结果
(3,8,'hello')
tuple1= (1,2,3,8,'hello','good')
tuple2=tuple1[:5]
print(tuple2)
#结果
(1,2,3,8,'hello')
tuple1= (1,2,3,8,'hello','good')
tuple2=tuple1[3:]
print(tuple2)
#结果
(8,'hello','good')
5.元组的方法
5.1 len(tuple)
功能:获取元组元素的个数
tuple1= (1,2,3,8,'hello','good')
print(len(tuple1))
#结果
6
5.2 max(tuple)
功能:获取元组中元素的最大值
tuple1= (1,2,3,8,20,13)
print(max(tuple1))
#结果
20
5.3 min(tuple)
功能:获取元组中元素的最小值
tuple1= (1,2,3,8,20,13)
print(min(tuple1))
#结果
1
5.4 tuple(list)
功能:将列表转换为元组
list1= [1,2,3,8,20,13]
print(tuple(list1))
#结果
(1,2,3,8,20,13)
6.二维元组
与二维列表类似,一个元组中的元素依然是元组,则成为二维元组。
元组名 =(元组1,元组2,...)
tuple1= ((1,2,3),(4,5,6),(7,8,9))
二维元组取值
元组名[下标1]【下标2】
tuple1= ((1,2,3),(4,5,6),(7,8,9))
#获取第一个元组的第一个元素
print(tuple1[0][0])
#结果
1