1.概念:有序的不可变的元素集合。与列表的区别是,元组的元素不能修改。
2.定义:
一个元素的写法:
t = (1,) print(type(t))
多个元素的写法:
tt = (1, 2, 3, 4) print(type(tt))
多个对象,以逗号隔开,默认为元组:tuple = 1, 2, 3, 4, "fj"
ttt = 1, 2, 3, 4, 5, "fj" print(type(ttt))
从列表转换成元组:tuple(seq)->这是个内建函数。
l1 = [1,2, 3, 4, 5, 6, 7, 8] t1 = tuple(l1) print(t1, type(t1))
补充:元组嵌套:元组中的元素可以使元组->(1, 2, 3, (1, 2, 3))
t2 = (1, 2, 3, 4, (4, 5, 6, 7, 8)) print(t2, type(t2))
3.常用操作
查询
获取单个元素
tuple[index]
index为索引,可以为负
获取多个元素
切片
tuple[start: end: step]
yz = (1, 2, 3, 4, 5, 6) print(yz[0:4:2])
4.元组的额外操作
t = (1, 2, 3, 4, 5, 6, 1, 2, 7, 8, 3, 5) t1 = (1, 100, 200, 300, 400, 500)
4.1获取
tuple.count(item)
统计元组中指定元素的个数
print(t.count(3))
tuple.index(item)
获取元组中指定元素的索引
print(t.index(1))
len(tup)
返回元组中元素的个数
print(len(t))
max(tup)
返回元组中元素最大的值
print(max(t))
min(tup)
返回元组中元素最小的值
print(min(t))
4.2判定
元素 in 元组
print(3 in t)
元素 not in 元组
print(3 not in t)
4.3比较
在2.x版本中使用
cmp()
内建函数
如果比较的是元组,则针对每个元素,从左到右逐一比较
左 > 右
1
左 == 右
0
左 < 右
-1
print(cmp(t, t1))
在3.x版本中使用
比较运算符
==
<
>
针对每一个元素,逐一比较
4.4拼接
乘法
(元素1, 元素2, ...) * int类型数
结果->(元素1, 元素2, ..., 元素1, 元素2, ...)
print((1, 2, 3, 4,) * 4)
加法
(元素1, 元素2, ...) + (元素a, 元素b, ...)
结果->(元素1, 元素2, ..., 元素a, 元素b, ...)
print((1, 2, 3,4) + (10, 11, 12, 13))
4.5拆包
a, b = (1, 2)
a = 1
b = 2
a, b = (1, 2) print(a, b) x, y = ((1, 2), (3, 4)) print(x, y)
补充一个小知识:
交换i 与 j 的值
i = 100
j = 1000
i = 100 j = 1000 j, i = (i, j) print(i, j)