4.6 元组 tuple
#元组tuple
# 元组是一个不可变的序列
# 操作方式基本上和列表是一致的
# 所以在操作元组时,就把元组当成一个不可变的列表就可以了
# 一般 当我们希望数据不改变时,就使用元组,其余情况都是用列表
#创建元组
#使用()创建元组
my_tuple=()#创建了一个空元组
print("my_tuple",my_tuple,type(my_tuple))#<class 'tuple'>
my_tuple=(1,2,3,4,5)#元组是不可变的对象,不能尝试为元组中的元素重新赋值
print("my_tuple",my_tuple[3])
print("my_tuple",my_tuple)
#如果元组不是空元组时,括号可以省略
#如果元组不是空元组,它里面至少要有一个逗号
my_tuple=10,20,30,40
print("my_tuple",my_tuple)
print("my_tuple",my_tuple[3])
#元组的解包(解构)
#指的是将元组中的每一个元素都赋值给一个变量
my_tuple=10,20,30,40
a,b,c,d=my_tuple
print("a=",a)
print("b=",b)
print("c=",c)
print("d=",d)
a=100
b=300
print(a,b)
#交换a,b值 可以利用元组的解包
a,b=b,a
print(a,b)
#在对元组进行解包时,变量的数量必须和元组中的元素的数量是一致的
#也可以在变量前添加一个* 这样变量将会获取元组中的所有剩余的元素
my_tuple=10,20,30,40
a,b,*c=my_tuple
print(a,b)
print('c=',c)
my_tuple=10,20,30,40
a,*b,c=my_tuple
print('a=',a)
print('b=',b)
print('c=',c)
#注意不能同时出现两个或以上的*的变量
a,b,*c=[1,2,3,4,5,6,7,8,9]
print('a=',a)
print('b=',b)
print('c=',c)
a,b,*c='hello world'
print('a=',a)
print('b=',b)
print('c=',c)