1. 概述
元组和列表相似,本质上是一种有序的集合。
元组和列表的核心区别:
2. 创建元组
基础创建方式
创建空列表:list1 = []
创建有元素的列表:list1 = [元素1, 元素2, ...]
创建空元组:tuple1 = ()
创建有元素的元组:tuple1 = (元素1, 元素2, ...)
代码演示
# 1.创建空元组tuple1 = ()print(type(tuple1))# 2.创建带有元素的元组tuple2 = (12,34,6,87)print(tuple2)print(type(tuple2))# 3.元组中的元素可以是各种数据类型tuple3 = (12,34,4.12,"hello",True)print(tuple3)# 注意:创建只有一个元素的元组时,元素后面必须加逗号tuple4 = (2)print(tuple4)print(type(tuple4))tuple5 = (3,)print(tuple5)print(type(tuple5))
打印结果
<class 'tuple'>(12, 34, 6, 87)<class 'tuple'>(12, 34, 4.12, 'hello', True)2<class 'int'>(3,)<class 'tuple'>
3. 元组元素的访问
元组通过下标(索引)访问元素,下标默认从 0 开始;元组元素不支持修改。
代码演示
tuple1 = (14,32,35,7,87)# 1.使用下标访问元组元素print(tuple1[1])# print(tuple1[5]) # 索引越界报错# 负数下标:从右往左访问元素print(tuple1[-1])print(tuple1[-3])# 2.尝试修改元组元素(会报错)# tuple1[2] = 99
打印结果
4. 元组常用操作
代码演示
# 1.合并元组 +tuple1 = (12,34,56)tuple2 = (3.12,56,"hello")print(tuple1 + tuple2)# 2.重复元组元素 *tuple3 = (23,45,67)print(tuple3 * 4)# 3.成员判断 in / not inprint(56 in tuple2)if "hello" in tuple2: print("找到了")else: print("没找到")# 4.元组切片(截取)tuple4 = (12,3,5,7,98)print(tuple4[1:4])print(tuple4[-1:])print(tuple4[:2])
打印结果
(12, 34, 56, 3.12, 56, 'hello')(23, 45, 67, 23, 45, 67, 23, 45, 67, 23, 45, 67)True找到了(3, 5, 7)(98,)(12, 3)
5. 元组常用功能
代码演示
tuple4 = (12,3,5,7,98)# 1.len() 获取元组长度print(len(tuple4))# 2.max() / min() 获取最大/最小值print(max(tuple4))print(min(tuple4))# 3.tuple() 将其他类型转换为元组list1 = [12,34,57,89]print(type(list1))print(type(tuple(list1)))# 4.遍历元组(三种方式)print("----- 遍历方式1:for-in -----")for i in tuple4: print(i)print("----- 遍历方式2:下标遍历 -----")for i in range(len(tuple4)): print(tuple4[i])print("----- 遍历方式3:enumerate 获取索引+元素 -----")for i,n in enumerate(tuple4): print(i,n)
打印结果
5983<class 'list'><class 'tuple'>----- 遍历方式1:for-in -----1235798----- 遍历方式2:下标遍历 -----1235798----- 遍历方式3:enumerate 获取索引+元素 -----0 121 32 53 74 98
总结
- 元组是不可变有序集合,用
() 定义,适合存储固定数据 - 单元素元组必须加逗号
(x,),否则会被识别为普通变量 - 常用方法:
len()、max()、min()、tuple() 类型转换