元组 元组是不可变类型,不能进行对其中的元素进行修改删除,但是可以对整个元组进行删除和组合。 元组是用小括号进行包容,元素之间通过逗号进行隔开。 ****当元组里只有一个元素的时候,需要加上逗号 可用的方法有以下几种: 1.创建 tup = (1,) #数据操作也有括号包含起来的格式,为了进行区别,只有一个元素时,必须加一个逗号,避开歧义 tup2 = () tup1 = (1,2,3) tup3 = "a", "b", "c", "d"; tup1 = (tup1,4,5)#可以理解为元组的组合 2.查询 查询的方式与列表是一样的,通过索引进行查询,索引必须是用中括号进行 tup[1] tup[1:] tup[1::1] 3.修改 只能是两个元组的组合,不去重,元素依次输出 tup2 = (2,3) tup3 = tup1 + tup2 4.删除 只能对整个元组进行删除,不能删除元组中的元素 del tup2 5.元素个数 len(tup2) 6.是否存在于元组中 x in tup2 # 返回布尔值 7.元组中最大值 max(tup1) #返回元组中的最大值 8.元组中最小值 min(tup1)#返回元组中的最小值 9.列表转换为元组,产生一个新的元组 tuple(list1)#产生一个新的元组,本身的list1是不变的,依然是列表类型 10.元组的for循环使用: for i,v in enumerate(tup4): #加上一个序号对元组的元素进行输出,默认从0开始 print(i,v) for i,v in enumerate(tup4,1):#加上一个序号对元组的元素进行输出,设置从1开始 print('i=%s'%i,'v=%s'%v) for i in range(len(tup4)):#通过索引的形式,访问元组的元素 print(tup4[i]) for i in tup1: #直接一个变量接收一个元素,并输出元素 print(i) 11.返回元组中元素的索引: tup1.index(('x','y','z')) 12.返回元组中元素的个数: s = tup1.count('x') 13.元组中嵌套元组,元组中嵌套列表 tup1 = ('2',('3','5'),'1',('x','y','z')) tup1 = ('2',('3','5'),'1',['x','y','z']) 14.二元元组的遍历: #tup1 = ('2',('3','5'),'1',['x','y','z'])#元组定义中既嵌套元组,又嵌套列表 tup1 = ('2',('3','5'),'1',('x','y','z'))#元组定义中只嵌套元组 for i in range(len(tup1)): for j in range(len(tup1[i])): print(tup1[i][j])#依次输出所有元素,包括元组中的元组或者元组中列表元素 15.元组解包 tup2 = (2,3,3) #元组中有多少个元素,就需要多少个变量对元组元素进行接收。如果变量不足,则报错too many values to unpack a,b,c = tup2 print(a,b,c) tup1 = ('2',('3','5'),'1',['x','y','z']) a,b,c,d = tup1 print(a,b,c,d) 16.元组去重 tup2 = (2,3,3) print(set(tup2)) =====>{2, 3} 17.元组中嵌套列表,可以对列表中的元素进行修改,因为指向的元组没变,只是可变的列表元素变了 tup1 = ('2',('3','5'),'1',['x','y','z']) tup1[3][0]='k' print(tup1) =====>('2', ('3', '5'), '1', ['k', 'y', 'z'])