#元组(tuple)用于存放只查询但不修改的数据,一但定义完成就不能再修改
#其他类似于列表,就是不能修改
new_tuple = (1,2,3,4,5)#定义
kind = type(new_tuple)
print(kind)
#常用方法
num = new_tuple.count(1)#元素出现次数
idx = new_tuple.index(2)#返回第一次出现该元素的索引
print(num,idx)
#若定义单个元素的元组,元素后面加上逗号,防止与普通数据混淆
t1 = (100,)#正确的单元素元组定义方法
print(type(t1))
t2 = (100)#实际上为int型而非元组
print(type(t2))
#元素的组包和解包(packing and unpacking)
#组包:定义元组其实就是组包的过程
#解包:
t3 = (1,2,3,3,4,4,45,5,5,6)
a,b,c,d,e,f,g,h,i,j = t3#a到j依次获得元组t3的各个元素,但是变量数量必须和元组元素个数相等了
#扩展解包
x,*y,z = t3#x,z分别获得元组开头和结尾的元素,由于y前面加了*号,获得中间所有剩余元素
print(x,y,z)#*号就是表示收集剩余所有元素
#案例:交换a,b的值
s = 1
t = 2
s,t = t,s#等号右边的"t,s"其实表示一个元组,总之是进行了一次组包和解包,从而进行了交换
print(s,t)