目录
一、基本介绍
1、元组(tuple)可以存放多个不同数据类型,元组是不可变序列
2、元组也是一种数据类型
二、元组的定义
1、元组的定义
2、代码说明
三、元组的使用
1、元组使用语法
2、举例说明
3、代码演示,访问/获取第三个数据/元素
四、元组的遍历
1、什么是元组的遍历
2、实例:使用while循环,对元组进行遍历输出
3、实例:使用for循环,对元组进行遍历输出
五、注意事项和使用细节
六、元组常用操作
1、元组常用操作
2、演示元组常用操作
七、练习
文档:内置类型 — Python 3.12.4 文档
一、基本介绍
1、元组(tuple)可以存放多个不同数据类型,元组是不可变序列
tuple 不可变是指当你创建了tuple 的时候,它就不能改变了,也就是说它也没有 append(),insert()这样的方法,但它也有获取某个索引值的方法,但是不能重新赋值
2、元组也是一种数据类型
二、元组的定义
1、元组的定义
创建一个元组,只要把逗号隔开的不同数据项,使用圆括号括起来即可
tuple_a=(100,200,300,400,500)
tuple_b=('red','green','blue','yellow','white','black')
2、代码说明
# 元组的定义
"""1、定义了一个元组,名字叫tuple_a,值为(100,200,300,400,500)2、100就是其中的一个数据/元素
"""
tuple_a = (100, 200, 300, 400, 500)
# 输出元组数据
print(f"元组的内容是{tuple_a} 类型是:{type(tuple_a)}")
三、元组的使用
1、元组使用语法
元组名[索引]
2、举例说明
tuple_c=('red','green','blue','yellow','white','black')
比如:你要使用tuple_c元组的第3个值"blue",则通过tuple_c[2]就可以访问到
提示:索引是从0开始计算的
3、代码演示,访问/获取第三个数据/元素
# 元组的使用语法
tuple_c = ('red', 'green', 'blue', 'yellow', 'white', 'black')# 访问/获取第三个数据/元素
print(f"第三个元素是:",tuple_c[2]) # blue
四、元组的遍历
1、什么是元组的遍历
简单的说,就是将元组的每个元素依次取出,进行处理的操作,就是遍历/迭代
tuple_color = ('red', 'green', 'blue', 'yellow', 'white', 'black')
2、实例:使用while循环,对元组进行遍历输出
# while 遍历元组
tuple_color = ('red', 'green', 'blue', 'yellow', 'white', 'black')# index=0 表示从第一个元素进行遍历
index = 0
while index<len(tuple_color):print(f"第{index+1}个元素的值:{tuple_color[index]}")index+=1
3、实例:使用for循环,对元组进行遍历输出
# for 遍历元组
tuple_color = ('red', 'green', 'blue', 'yellow', 'white', 'black')for ele in tuple_color:print(f"元素是:{ele}")
五、注意事项和使用细节
1、如果我们需要一个空元组,就可以通过(),或者tuple()方式来定义
# 1、如果我们需要一个空元组,就可以通过(),或者tuple()方式来定义
tuple_a=()
tuple_b=tuple()
print(f"tuple_a 内容是{tuple_a} 类型是{type(tuple_a)}")
print(f"tuple_b 内容是{tuple_b} 类型是{type(tuple_b)}")
2、元组的元素可以有多个,而且数据类型没有限制(甚至可以嵌套元组),允许有重复元素,并且是有序的
tuple_c = (100, "jack", 4.5, True, "jack")
print(tuple_c)# 嵌套元组
tuple_d = (100, "tom", ("天龙八部", "笑傲江湖", 300))
print(tuple_d)
3、元组的索引/下标是从0开始的
4、元组索引必须在指定范围内使用,否则报:IndexError: tuple index out of range
# 元组索引必须在指定范围内使用
# 有效下标为0-2
tuple_d = (1, 2.1, "jack")
# 索引越界
# print(tuple_d[3])
5、元素是不可变序列(要注意其使用特点),看下面代码
# 元组的元素是不能修改的,会报错
tuple_e = (1, 2.1, "jack")
# tuple_e[2]="python" # 不能修改
6、可以修改元组内 list的内容(包括 修改、增加、删除等)
tuple_f = (1, 2.1, "hen", ["jack", "tom", "mary"])# 访问元组中 list及其元素
print(tuple_f[3]) # ['jack', 'tom', 'mary']
print(tuple_f[3][0]) # jack# 修改
tuple_f[3][0]="king"
print(f"tuple_f 内容是:{tuple_f}") # (1, 2.1, 'hen', ['king', 'tom', 'mary'])# 删除
del tuple_f[3][0]
print(f"tuple_f 内容是:{tuple_f}") # (1, 2.1, 'hen', ['tom', 'mary'])# 增加
tuple_f[3].append("smith")
print(f"tuple_f 内容是:{tuple_f}") # (1, 2.1, 'hen', ['tom', 'mary', 'smith'])
7、索引也可以从尾部开始,最后一个元素的索引为-1,往前一位为-2,以此类推
tuple_g = (1, 2.1, "hen", ["jack", "tom", "mary"])
print(tuple_g[-2]) # hen
8、定义只有一个元素的元组,需要带上逗号,否则就不是元组类型
tuple_h=(100,)
print(f"tuple_h 的类型是{type(tuple_h)}")
9、说明:既然有了列表,Python设计者为什么还提供元组这样的数据类型呢?
六、元组常用操作
1、元组常用操作
1)文档:内置类型 — Python 3.12.4 文档
2)常用操作一览
2、演示元组常用操作
# 演示元组常用操作
tuple_a = (100, 200, 300, 400, 600, 200)
print(f"tuple_a 元组元素个数:", len(tuple_a)) # 6
print(f"tuple_a 元组最大元素:", max(tuple_a)) # 600
print(f"tuple_a 元组最小元素:", min(tuple_a)) # 100# tuple.count(obj):统计某元素在元组中出现的次数
print("100出现的次数是:", tuple_a.count(100)) # 1
print("200出现的次数是:", tuple_a.count(200)) # 2# tuple.index(obj):从元组中找到某个值第一次匹配项的索引位置
# 如果找不到,会报错:ValueError: tuple.index(x): x not in tuple
print("200第一次出现在元组的索引是:", tuple_a.index(200)) # 1print(300 in tuple_a) # True
七、练习
tuple_movie = ('大话西游', '周星驰', 80, ['周星驰', '小甜甜'])# 查询票价对应索引
print(f"票价对应索引 {tuple_movie.index(80)}") # 2# 遍历所有演员
for ele in tuple_movie[3]:print(f"演员的名字:{ele}")# 删除'小甜甜',增加演员'牛魔王'、'猪八戒'
del tuple_movie[3][1]
tuple_movie[3].append("牛魔王")
tuple_movie[3].append("猪八戒")
print("-------------------")
for ele in tuple_movie[3]:print(f"演员的名字:{ele}")