学习目标: 1、了解元组以及它与列表的区别,学会创建元组;2、元组元素的访问、搜索、求和,取最值等操作;3、学会对元组进行连接、切片、以及排序等操作。
列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。
1、元组支持的操作有:
1.访问操作;
2.搜索操作: in, index();
3.获取元组的长度:len();
4.取最值、求和操作:max(),min(),sum();
5.不修改元组本身的操作: +连接、切片操作、sorted()排序。
2、元组的创建:( )
(1)通过()创建元组,小括号可以省略。
a = (10,20,30)
或者
a = 10,20,30
(2)如果元组只有一个元素,则必须后面加逗号,这是因为解释器会把(1)解释为整数1,(1,)解释为元组。
>>> a=(1,2,3)
>>> type(a)
<class 'tuple'>
>>> b="a","b","c"
>>> type(b)
<class 'tuple'>
>>> c=(1) #只有一个元素,1后面没有逗号,会认为是int
>>> type(c)
<class 'int'>
>>> d=(1,)
>>> type(d)
<class 'tuple'>
3、元组的创建:tuple() tuple(可迭代的数据):tuple函数只能放入可迭代的数据。
b = tuple() #创建一个空的元组
c = tuple(range(3)) #得到元组(0,1,2)
d = tuple([2,3,4]) #得到元组(2,3,4)
e = tuple("abc") #得到元组("a","b","c")
4、元组元素的访问:
(1)通过索引下标访问元素。
(2)元组的元素不能修改。
>>> a = (20,10,30,9,8)
>>> a[2]
30
>>> a[3]=99
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
5、搜索操作
in关键字:成员关系判断要找出某个元素是否在元组中,可以使用in关键字。
index()方法:找出列表元素位于元组什么位置。
>>> "a" in (1,2,"a",4,5)
True
>>> "b" in (1,2,"a",4,5)
False
>>> tuple1=(1,2,"a",4,5)
>>> tuple1.index("a")
2
>>> tuple1.index(6) #查找元组中不存在的元素会报错
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
tuple1.index(6)
ValueError: tuple.index(x): x not in tuple
6、最值、求和、元组长度
>>> a = (20,10,30,9,8)
>>> min(a)
8
>>> max(a)
30
>>> sum(a)
77
>>> len(a)
5
7、其他操作
.+连接符: 在尾部加上一个元组
.切片操作: 格式:(元组)[start:end:step]
.sorted(元组)排序:生成新的【列表】
>>> a = (20,10,30,9,8)
>>> b = a+(11,12) #+连接符
>>> b
(20, 10, 30, 9, 8, 11, 12)
>>> b[2:4] #切片操作
(30, 9)
>>> b[:4]
(20, 10, 30, 9)
>>> sorted(b) #从小到大排序
[8, 9, 10, 11, 12, 20, 30]