元组同列表一样,都是可以封装多个,不同类型的元素在内,最大的不同点在于元组一旦完成,就不可以修改
程序内封装数据,不希望数据被篡改,可以使用元组
定义元组使用小括号,逗号隔开各个数据,数据可以是不同的数据类型
# 定义元组字面量
(元素,元素,...元素)
# 定义元组变量
变量名称 = (元素,元素,...元素)
# 定义空元组
变量名称 = tuple()# 方式1
变量名称 = ()# 方式2
t1 = (1, "das", True)
t2 = ()
t3 = tuple()
print(f"t1的类型是:{type(t1)}")
print(f"t2的类型是:{type(t2)}")
print(f"t3的类型是:{type(t3)}")
# 定义单个元素的元素
t4 = ("hello")
print(f"t4的类型是{type(t4)}")
t5 = ("hello", )
print(f"t5的类型是{type(t5)}")
输出结果:
t1的类型是:<class 'tuple'>
t2的类型是:<class 'tuple'>
t3的类型是:<class 'tuple'>
t5的类型是<class 'str'>
t4的类型是<class 'tuple'>
注意事项:
当元组只有一个数据的时候,这个数据后面必须有逗号
t6 = ((1, 2, 3), (4, 5, 6))
print(f"t6的类型是{type(t6)},内容是:{t6}")
t6的类型是<class 'tuple'>,内容是:((1, 2, 3), (4, 5, 6))
# 下标索引取出内容
num = t6[0][1]
print(num)
输出结果:
2
print(t6[0].index(1))
print(t6[0].count(2))
t8 = (1, 2, 3, 4, 5, 6, 7, 8)
print(len(t8))
t9 = (1, 2, 3, 4, 5, 6, 7, 8)
i = 0
while i < len(t9):
print(t9[i])
i += 1
for i in t9:
print(i)
不可以修改元组的内容 否则会直接报错
但是可以修改元组内List的内容
t10 = (1, 2, [1, 2])
t10[2].append(1)
print(t10)
输出结果:
(1, 2, [1, 2, 1])