1. 序列类型定义

序列是具有先后关系的一组元素

  • 序列是一维元素向量,元素类型可以不同;
  • 类似数学元素序列:;
  • 元素间由序号引导,通过下标访问序列的特定元素

序列是一个基类类型

python序列类型和映射类型 python的序列类型_元组

python序列类型和映射类型 python的序列类型_列表_02

2. 序列处理函数及方法

序列类型通用操作符

操作符及应用

描述

x in s

如果x是序列s的元素,返回True,否则返回False

x not in s

如果x是序列s的元素,返回False,否则返回True

s + t

连接两个序列s和t

s*n 或 n*s

将序列s复制n次

s[i]

索引,返回s中的第i个元素,i是序列的序号

s[i:j]或s[i:j:k]

切片,返回序列s中第i到第j以k为步长的元素子序列

ls = ["python", 123, "io"];
ls[::-1];
print(ls);
#运行结果
#['io', 123, 'python']

s = "python123.io";
s[::-1];
print(s);
#运行结果
#oi.321nohtyp

序列类型通用函数和方法

函数和方法

描述

len(s)

返回序列s的长度,即元素个数

min(s)

返回序列s的最小元素,s中元素需要可比较

max(s)

返回序列s的最大元素,s中元素需要可比较

s.index(x)或

s.index(x,i,j)

返回序列s从i开始到j位置中第一次出现元素x的位置

s.count(x)

返回序列s中出现x的总次数

ls = ["python", 123, "io"];
a = len(ls);
print(a);
#运行结果
#3

s = "python123.io";
b = max(s);
print(b);
#运行结果
#y

3. 元组类型及操作

元组是序列类型的一种扩展

  • 元组是一种序列类型,一旦创建就不能被修改;
  • 使用小括号()或tuple()创建,元素间用逗号 , 分割;
  • 可以使用或不使用小括号;def func(): return 1,2;
creature = "cat", "dog", "tiger", "human";
print(creature);
#运行结果
#('cat', 'dog', 'tiger', 'human')

color = (0x001100, "blue", creature);
print(color);
#运行结果
#(4352, 'blue', ('cat', 'dog', 'tiger', 'human'))

元组类型继承序列类型全部通用操作,因为创建后不能修改,因此没有特殊操作

creature = "cat", "dog", "tiger", "human";
a = creature[::-1];
print(a);
#运行结果
#('human', 'tiger', 'dog', 'cat')

color = (0x001100, "blue", creature);
b = color[-1][2];
print(b);
#运行结果
#tiger

4. 列表类型及操作

列表是序列类型的一种扩展,十分常用

  • 列表是一种序列类型,创建后可以随意被修改;
  • 使用方括号[]或list()创建,元素间用逗号,分割;
  • 列表中各元素类型可以不同,无长度限制
ls = ["cat", "dog", "tiger", 1024];
print(ls);
#运行结果
#['cat', 'dog', 'tiger', 1024]

lt = ls;
print(lt);
#运行结果
#['cat', 'dog', 'tiger', 1024]

列表类型操作函数和方法

函数或方法

描述

ls[i] = x

替换列表ls第i元素为x

ls[i:j:k] = lt

用列表lt替换ls切片后所对应元素子列表

del ls[i]

删除列表ls中第i元素

del ls[i:j:k]

删除列表ls中第i到第j以k为步长的元素

ls += lt

更新列表ls,将列表lt元素增加到列表ls中

ls *= n

更新列表s,其元素重复n次

ls = ["cat", "dog", "tiger", 1024];
ls[1:2] = [1, 2, 3, 4];
print(ls);
#运行结果
#['cat', 1, 2, 3, 4, 'tiger', 1024]

del ls[::3];
print(ls);
#运行结果
#[1, 2, 4, 'tiger']

ls = ls*2
print(ls);
#运行结果
#[1, 2, 4, 'tiger', 1, 2, 4, 'tiger']

列表类型操作函数和方法

函数或方法

描述

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()

将列表ls中的元素反转

ls = ["cat", "dog", "tiger", 1024];
ls.append(1234);
print(ls);
#运行结果
#['cat', 'dog', 'tiger', 1024, 1234]
ls.insert(3, "human");
print(ls);
#运行结果
#['cat', 'dog', 'tiger', 'human', 1024, 1234]
ls.reverse();
print(ls);
#运行结果
#[1234, 1024, 'human', 'tiger', 'dog', 'cat']

列表功能默写

#定义空列表lt
lt = [];   

#向lt新增5个元素
lt += [1, 2, 3, 4, 5];

#修改lt中第2个元素
lt[2] = 6l

#向lt中第2个位置增加一个元素
ls.insert(2, 7);

#从lt中第一个位置删除一个元素
del lt[1];

#删除lt中第1-3位置元素
del lt[1:4];

#判断lt中是否包含数字0
0 in lt;

#向lt中新增数字0
lt.append(0);

#返回数字0所在lt中的索引
lt.index(0);

#lt的长度
len(lt);

#lt中最大元素
max(lt);

#清空lt
lt.clear();

5. 序列类型应用场景

数据标识:元组和列表

  • 元组用于元素不改变的应用场景,更多用于固定搭配场景
  • 列表更加灵活,它是最常用的序列类型
  • 最主要作用:表示一组有序数据,进而操作它们

元素遍历

for item in ls:

    <语句块>

数据保护

如果不希望数据被程序所改变,转换成元组类型

ls = ["cat", "dog", "tiger", 1024];
lt = tuple(ls);
print(lt);
#运行结果
#('cat', 'dog', 'tiger', 1024)