序列类型定义
- 具有先后顺序的一组数据,序列中元素可以相同,类型可以不同
- 序列类型是一个基类类型,字符串,元组,和列表都属于序列类型
- 序号的定义有两种,正向递增序号和反向递减序号
序列处理函数及方法(6种)
6个操作符
- x in S 判断元素x是否在序列S中,如果在则返回True
- x not in S 判断元素x是否在序列S中,如果不在则返回True
- s+t 连接两个序列s和t,返回新的序列
- s*n或者n*s 将序列S复制n次,返回新的序列
- s[i] 索引,返回序列S中的第i个元素
- s[i:j]或者s[i:j:k] 切片操作,返回序号从i到j中步长为k的元素组成的新的序列
6个函数和方法
- len(S) 返回序列S的长度,即元素的个数
- max(S) 返回序列S中的最大值,如果S中的元素类型不同,不可以比较,则会报错
- min(S) 返回序列S中的最小值,如果S中的元素类型不同,不可以比较,则会报错
- S.index(x) 返回序列S中第一次出现x元素的索引
- S.index(x,i,j) 返回序列S从i开始到j位置中第一次出现x元素在序列S中的索引
- S.count(x) 返回元素x在序列S中出现的总次数
其他相关函数
- map(func,list)对第二个参数中的每一个元素都执行第一个参数所示的函数,返回新的数据集合
元组类型及操作
- 元组一旦被创建就不能被修改
- 元组用()创建或者用tuple()创建,元素之间用逗号分开
- 可以使用或者不使用小括号,比如函数返回多个值
例如
>>> creatures="cat","dog","fox"
>>> creatures
('cat','dog','fox')
>>> color=(0x001120,"blue",creactures)
>>> color
(0x001120,'blue',('cat','dog','fox'))
元组继承了序列类型的所有操作
例如
>>> creatures="cat","dog","fox"
>>> creatures[::-1]
('fox','dog','cat')
>>> color=(0x001120,"blue",creactures)
>>> color[-1][2]
'fox'
列表类型及操作
- 列表创建之后可以修改
- 列表可以用[]或者list()创建,元素之间用逗号分割
例子
>>> ls=("cat","dog","fox",2018)
>>> lt=ls # =号不能创建新的列表,只是把同一个列表取了不同的名字
>>> lt
["cat","dog","fox",2018]
列表类型的操作函数和方法(6个)
- ls[i]=x 把列表索引为i的元素替换为x
- ls[i:j:k]=lt 把列表lt替换为ls切片之后的子列表
- del ls[i] 删除ls的第i个元素
- del ls[i:j:k] 删除列表中用切片方法选中的元素
- ls +=lt 更新列表ls,把lt列表增加到ls列表后面
- ls *=n 更新列表ls,其元素重复n次
例子
>>> ls=("cat","dog","fox",2018)
>>> ls[1:2]=[1,2,3,4]
['cat',1,2,3,4,2018]
>>> del ls[::3]
[1,2,4,2018]
>>> ls *2
[1,2,4,2018,1,2,4,2018]
函数
- ls.append(x) 列表ls新增元素x
- ls.clear() 删除列表ls的所有元素
- ls.copy() 生成一个新的列表,赋予ls中的所有元素
- ls.insert(i,x) 在列表ls中的第i个位置插入元素x
- ls.pop(i) 将列表ls中的第i个元素取出并且删除该元素
- ls.remove(x) 将列表ls中出现的第一个x元素删除
- ls.reverse(x) 将列表中的元素进行逆向排序
序列类型的典型应用场景
- 元组用于元素不改变的应用场景,更多用于固定搭配场景
- 列表更加灵活,它是最常用的序列类型
- 最主要的作用:表示一组有序数据,进而操作他们
元素遍历
for item in ls:
<语句>
for item in tp:
<语句>
数据保护
- 如果不希望数据被改变,可以使用tuple()函数把列表转换为元组,多人共同开发经常使用
tp=tuple(ls)