文章目录
- 数据容器:tuple(元组)
- 元组的定义格式
- 元组的相关操作
- 元组的相关操作-注意事项
- 元组的特点
数据容器:tuple(元组)
元组的定义格式
元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
# 定义元组字面量
(元素, 元素,..., 元素)
# 定义元素变量
变量名称 = (元素, 元素,..., 元素)
# 定义空元组
变量名称 = () # 方式1
变量名称 = tuple() # 方式2 # 该写法就是得到一个元组的类对象
# 定义元组
t1 = (1, "hello", True)
t2 = ()
t3 = tuple()
print(f"t1的类型是:{type(t1)},内容是:{t1}")
print(f"t2的类型是:{type(t2)},内容是:{t2}")
print(f"t3的类型是:{type(t3)},内容是:{t3}")# 定义单个元素的元组 【单个元素一定要在该元素后面加一个逗号才是元组】
t4 = ("hello")
print(f"t4的类型是:{type(t4)},t4的内容是:{t4}")
t5 = ("hello", )
print(f"t5的类型是:{type(t5)},t5的内容是:{t5}")# 元组的嵌套
t6 = ((1, 2), (3, 4))
print(f"t6的类型是:{type(t6)},t6的内容是:{t6}")# 下标索引取出内容
element = t6[1][1]
print(f"从嵌套元组中取出元素:{element}")运行效果:
t1的类型是:<class 'tuple'>,内容是:(1, 'hello', True)
t2的类型是:<class 'tuple'>,内容是:()
t3的类型是:<class 'tuple'>,内容是:()
t4的类型是:<class 'str'>,t4的内容是:hello
t5的类型是:<class 'tuple'>,t5的内容是:('hello',)
t6的类型是:<class 'tuple'>,t6的内容是:((1, 2), (3, 4))
从嵌套元组中取出元素:4
元组的相关操作
# 元组的操作:index查找方法
t7 = ("hi", "hello", "python")
index = t7.index("hello")
print(f"元组t7中 hello的下标是:{index}")# 元组的操作:count统计方法
t8 = ("hi", "hello", "python", "hi")
num = t8.count("hi")
print(f"元组t8中 统计hi的数量有:{num}个")# 元组的操作:len函数统计元组的元素数量
t9 = ("hi", "hello", "python", "您好")
num = len(t9)
print(f"元组t9中共有元素:{num}")# 元组的遍历:while # 元组支持下标索引,所以可以用while
index = 0
while index < len(t9):print(f"while:元组t9的元素:{t9[index]}")# 至关重要index += 1# 元组的遍历:for
for element in t9:print(f"for:元组t9的元素:{element}")
元组的相关操作-注意事项
-
不可以修改元组内容,否则会直接报错
-
可以修改元组内list的内容(修改元素、增加、删除、反转等)
元组的特点
- 可以容纳多个数据
- 可以容纳不同类型的数据(混装)
- 数据是有序存储的(下标索引)
- 允许重复数据存在
- 不可以修改(增加或删除元素等)【如果元组里嵌套了list,那么list里的元素是可以修改的】
- 支持for循环、while循环
多数特性和list一致(有序、有任意元素、允许重复元素),不同点在于不可修改的特性
- 练习案例:元组的基本操作
# 元组的基本操作
# 定义一个元组,记录的是一个学生的信息(姓名,年龄,爱好)
t10 = ("mary", 14, ["draw", "volleyball"])
# 1、查询年龄下标
index = t10.index(14)
print(f"年龄所在下标:{index}")
# 2、查询学生姓名
name = t10[0]
print(f"name:{name}")
# 3、删除学生爱好中的draw
# del t10[2][0]
t10[2].remove("draw")
print(f"删除操作之后,学生的爱好:{t10[2]}")
print(f"当前元组:{t10}")
# 4、增加爱好coding
t10[2].append("coding")
print(f"添加之后,学生的爱好:{t10[2]}")
print(f"当前元组:{t10}")运行效果:
年龄所在下标:1
name:mary
删除操作之后,学生的爱好:['volleyball']
当前元组:('mary', 14, ['volleyball'])
添加之后,学生的爱好:['volleyball', 'coding']
当前元组:('mary', 14, ['volleyball', 'coding'])