提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、元组(tuple)是什么?
有序不可变元素的集合,和列表的区别在于不可变,所以它没有增删改操作
二、定义
一个元素的写法
(666,)
多个元素的写法
(1,2,3)
多个对象,以逗号隔开,默认为元组
tuple = 1, 2, 3, "sz"
从列表转换成元组
tuple(seq)
将列表转化为元组
内建函数
补充: 元组嵌套
元组的中元素可以是元组
(1, 2, ("a", "b"))
t=(1,)
print(type(t))
t1=(1,2,3)
print(type(t1))
t2=1,2,3,"sz"
print(type(t2))
l=[1,2,3,"sz"]
t3=tuple(l)
print(type(t3))
t4=(1,2,3,("ww","ss"))
结果:
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
三、常用操作
查
获取单个元素
tuple[index]
index 为索引
可以为负
获取多个元素
切片
tuple[start: end: step]
t4=(1,2,3,("ww","ss")
print(t4[1])
print(t4[-1])
print(t4[0:3])
print(t4[::-1])切片反转
结果:
2
('ww', 'ss')
(1, 2, 3)
(('ww', 'ss'), 3, 2, 1)
三、额外操作
1.获取
tuple.count(item)
统计元组中指定元素的个数(元组中没有就返回0)
tuple.index(item)
获取元组中指定元素的索引(元素不在报错)
len(tup)
返回元组中元素的个数
max(tup)
返回元组中元素最大的值
min(tup)
返回元组中元素最小的值
t4=(1,2,3,1,2,2,1,("ww","ss"))
t5=t4[0:7]
print(t4.count(12))
print(t4.index(("ww","ss")))
print(len(t4))
print(max(t5))
print(min(t5))
结果:
0
7
8
3
1
2.判定
元素 in 元组
元素 not in 元组
print(2 in t5)
print(2 not in t5)
3.比较
cmp()
内建函数
如果比较的是元组, 则针对每个元素, 从左到右逐一比较
左 > 右
1
左 == 右
0
左 < 右
-1
Python3.x不支持
比较运算符
==
>
<
...
针对每个元素, 从左到右逐一比较
tt1=(1,2,3,4)
tt2=(2,5,6,7,8)
print(tt1>tt2)
结果:
False
4.拼接
乘法
(元素1, 元素2...) * int类型数值
=
(元素1, 元素2..., 元素1, 元素2..., ...)
加法
(元素1, 元素2) + (元素a, 元素b)
=
(元素1, 元素2, 元素a, 元素b)
拆包
a, b = (1, 2)
a = 1
b = 2
tt=(1,2,3)
tt1=(1,"i","4")
print(tt*3)
print(tt+tt1)
a,b,c=tt1
print(a,b,c)
结果:
(1, 2, 3, 1, 2, 3, 1, 2, 3)
(1, 2, 3, 1, 'i', '4')
1 i 4
注意
元组里面的元素一旦定义就不可变了