1.概述
元组不可变的队列,只读的列表,不能写入修改
有序的队列,可以使用下标进行索引
元组内部数据称为元素,元素可读不可写,包含零个或多个元素,多个元素之间用逗号隔开
小括号作为起始值和终止值标识符,允许使用一组值使用逗号进行分隔
2.定义元组
1.使用小括号语法定义
(元素1,元素2,元素3,........,元素n)
a = ("a","b","c") b = (1,2,3) c = ("a",True,3) d = () e = (1,) f = 1,2,3 g = 9, print(a,b,c,d,e,f,g)
2.使用tuple()函数
使用tuple()函数可以将range()、字符串、列表、字典或其他可迭代的对象转换为元组
t1 = tuple([1,2,3]) t2 = tuple((4,5,6)) t3 = tuple("python") t4 = tuple({"x":1,"y":2}) t5 = tuple(range(10)) print(t1,t2,t3,t4,t5)
2.删除元组
使用del命令
t1 = tuple([1,2,3,3]) print(t1) del t1 print(t1)
3.访问元组
1.访问元素
语法格式:
元素对象[索引]
元素对象[索引] = 赋的值
t1 = (range(20)) print(t1[0]) print(t1[-1]) print(t1[len(t1)-1]) print(t1[-len(t1)])
2.元组长度
使用len()函数
例:将输入的元组字符转换为大写
t1 = ("python") print(t1) i = 0 while i < len(t1): t2 = t1.upper() i += 1 print(t2)
3.统计元素个数
使用count()方法
当统计的元素不存在时,返回结果为0
t1 = (1,2,2,3,4,4,5,6,7,7,4,3,255,3,5,35,4) print(t1) t2 = t1.count(2) print(t2) t3 = t1.count(10) print(t3)
4.获取下标的方法
使用index()方法
t1 = (1,2,2,3,4,2,5,6,7,7,4,2,255,3,5,35,4) print(t1) #获取值为2的下标值(从第一个元素开始匹配) t2 = t1.index(2) print(t2) #获取值为2的下标值,从下标值为三开始 t3 = t1.index(2,3) print(t3)
5.转换为索引序列
使用enumerate()函数
t1 = ("python") print(t1) t2 = enumerate(t1) print(t2) t3 = tuple(t2) print(t3)
4.元组和列表的对比:
相同点:
1.定义方法相似
列表使用[]表示,元组使用()表示
2.元素和元素访问都是有序序列
3.都可以使用切片(不会影响原对象结构)
4.都可以使用in 或not in 检测元素是否存在
区别:
1.元组是只读的,不能添加,删除,修改元素
2.列表不能作为字典的键使用,而元组可以作为字典的键使用
元组的优点:
1.迭代操作时速度比较快
2.具有写的保护作用
元组与列表之间的转换:
使用tuple()把列表转换为元组
使用list()把元素转换为列表
5.元组的应用
1.格式化输出
a = "python" b = 3.6 print("%s %.1f"%(a,b))
2.多重赋值
a,b = ("python",3.8) print("%s %.1f"%(a,b))
3.切片操作
t = tuple(range(3,16)) #打印数组t a = t[::] #倒序打印数组t b = t[::-1] #打印数组的偶数位 c = t[::2] #打印数组的奇数位 d = t[1::2] print(t) print(a) print(b) print(c) print(d)
4.数据保护
可以将列表转换为元组