概念
有序的
不可变的元素的集合
和列表的区别:元素不可以修改
定义
#方法1
t = (1) #此处将括号识别为 提升运算优先级的作用
print(type(t)) #<class 'int'>
t = (1, )
print(type(t)) #<class 'tuple'>
#多个元素
t = (1, 2, 3)
print(type(t)) #<class 'tuple'>
#方法2 多个对象用逗号隔开,默认为元组
t = 1, 2, 3
print(t, type(t)) #(1, 2, 3) <class 'tuple'> 一般不这样用 容易引起歧义
#方法3 从列表转tuple
l = [1, 2, 3, 4]
print(l, type(l)) #[1, 2, 3, 4] <class 'list'>
l = tuple(l)
print(l, type(l)) #(1, 2, 3, 4) <class 'tuple'>
元组嵌套
#元组嵌套
t = (1, 2, (3, 4))
print(t) #(1, 2, (3, 4))
常用操作
由于元组是不可变的元素集合,不允许增、删、改!!!
查找
t = (1, 2, 3, 4)
#获取单个元素
print(t[0]) #1
print(t[-1]) #4
#切片操作
print(t[0: 2]) #(1, 2)
#反转操作
print(t[: : -1]) #(4, 3, 2, 1)
其余操作
获取
#tuple.count(item) 统计元组中指定元素的个数 元素不存在则打印0
t = (1, 2, 3, 2, 3)
print(t.count(2)) #2
print(t.count("1")) #0
#tuple.index(item) 获取元组中指定元素的索引 若元素不在元组里面则报错
idx = t.index(2)
print(idx) #1
######内建函数
#max(tuple) 寻找最大元素
print(max((1, 2, 3))) #3
#min(tuple) 寻找最小元素
print(min((1, 2, 3))) #1
判定
#元素 in 元组
t = ("1", "2", "3", "4")
print("1" in t) #True
print(8 in t) #False
#元素 not in 元组
print(8 not in t) #True
拼接
不可能改变元组本身
#乘法
t = (1, 2)
print(t * 3) #(1, 2, 1, 2, 1, 2)
#加法 必须类型相同 不能不同类型相加
t1 = (3, 4, 5)
print(t + t1) #(1, 2, 3, 4, 5)
拆包
a = 10
b = 20
t = (a, b)
print(t[0], t[1]) #10 20
a, b = (10, 20)
print(a, b) #10 20
#交换值 很有用
b, a = (a, b)
print(a, b) #20 10