#只创建一个tuple 需要加,消除歧义
a_tuple=(2,)
#在tuple中创建list
mixed_tuple=(1,2,['a','b'])
print("mixed_tuple"+str(mixed_tuple))
#如果在tuple中嵌套list tuple中的list是可以被更改的
mixed_tuple[2][0]='c'
print(mixed_tuple)
#tuple是一个不可以改变的list 一旦创建 一个tuple 就不能以任何的方式改变它
#tuple 与list 的相同之处
#定义 tuple 与定义list的方式相同,除了整个元素集用小括号包围的而不是方括号
#tuple的元素与list一样按定义的次序进行排序 tuple的索引与list一样从0开始,所以
#一个非空的tuple的一个元素总是t[0]
#负数索引与list一样从tuple的尾部开始计数
#与list一样分片(slice)也可以使用 .注意当分割一个list时,会得到一个新的list;当分割
#所以当分割一个tuple时,会得到一个新的tuple
#
#tuple不存在的方法
# 不能从一个tuple增加元素。所以没有append 和extend方法
#不能用tuple删除元素,所以没有remove和pop方法
#然而可以使用in 来查看一个元素是否存在tuple中
#
##用tuple的好处
#tuple比list操作速度快.如果定义了一个值的常量集,并且唯一要用它做的是不断地遍历
#则用tuple代替list
#如果对不需要修改的数据进行"写保护",它可以使代码更安全.使用tuple而不是list如同拥有一个
#隐含的assert语句,说明这一数据是常量.如果必须要修改这些值.可以把tuple转换list
#的转换
#tuple与list的转换
#tuple可以转换成list,反之亦然.内置的tuple函数接受一个list,并返回一个有着相同元素的tuple.而list函数
#接收一个tuple返回一个list.从效果上看,tuple冻结一个list,而list解冻一个tuple
#
#tuple的其他应用
#一次赋多值
#>>>v=('a','b','e'))
#>>>(x,y,z)=v
#解释:v是一个三元素的tuple并且(x,y,z)是一个三变量的tuple.将一个tuple赋值给另一个tuple会按顺序将v的每一
#个值赋给每一个变量