序列类型定义

  • 具有先后顺序的一组数据,序列中元素可以相同,类型可以不同
  • 序列类型是一个基类类型,字符串,元组,和列表都属于序列类型
  • 序号的定义有两种,正向递增序号和反向递减序号

序列处理函数及方法(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)