# 元组(tuple)是 Python 中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。元组是一个有序列表,序列中的每个元素都分配一个数字(位置,索引)
# 1、我们可以使用圆括号,小括号()来创建元组
# 2、我们可以直接将序列放在tuple(seq)
#元组中的元素支持python中任何数据类型,个数没有限制
tup = (3,'v',['a',1,2],(1,2,3,4,5),{'a':11,'b':13})
print(tup)
print(type(tup))
# 创建一个元组,两种创建方式
a = (1,2,3,4,5,6,7)
b = tuple("abcdefg")
print(a)
print(type(a))
print(b)
print(type(b))
# 创建一个空的元组
c= ()
d = tuple()
print(c)
print(type(c))
print(d)
print(type(d))
# 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
e = (10)
print(e)
print(type(e))
f = (10,)
print(f)
print(type(f))
# 元组是有序的序列,存在下标index,索引从0开始
# 元组同样支持负数,负数从-1开始
# Python中访问元组与列表一样,通过索引
print(a[1])
print(a[-1])
# 元组的常用操作
# 元组的修改
# 元组的删除
# 元组的组合
# 元组的重复
# 元组与列表的区别:元组的元素不可修改 ,列表可修改
# 元组是不可变序列,列表是可变序列
# a[0] = a
# print(a)
# 元组中的元素不可删除,但可以使用del删除整个元组
# 删除单个元素
# del a[0]
# 删除整个元组后,输出元组会报错
# del a
# print(a)
# 可重复可组合
print(a + b)
print(a*3)
# 通过连接两个元组,创建一个新的元组
a1 = a + b
print(a1)
# 元组常用方法
# len()
# max()
# min()
# 获取元组的元素个数
print(len(a))
# 获取元组中最大值
print(max(a))
# 获取元组中最小值
print(min(a))
# 字符串、列表、元组、字典、区间的转换
a3 = ("a","b","c")
# 元组转列表
a5= list(a3)
print(a5)
print(type(a5))
# 列表转元组
a6= tuple(a5)
print(a6)
# 字典转元组,元组无法转换为字典
a7 = {"你":"我","她":"他","he":"she"}
a8= tuple(a7)
print(type(a7))
print(a8)
print(type(a8))
# 元组转字符串
a9= str(a3)
print(a9)
print(type(a9))
# 字符串转元组
a10= tuple(a9)
print(a10)
# 区间转元组,元组不能转换为区间
a11 = range(1,10)
a12= tuple(a11)
print(a12)
print(type(a12))