序列类型定义
序列是具有先后关系的一组元素
序列是一维元素向量,元素类型可以不同
序列是一个基类类型,是一个基本的数据类型
序列类型 | ||
字符串类型 | 元组类型 | 列表类型 |
序列类型有一个关于序号的定义
在序列类型中元素存在
正向递增的序号的索引关系
和反向递减序号的索引关系
序列处理函数及方法
操作符及应用 | 描述 |
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
函数和方法 | 描述 |
len(s) | 返回序列s的长度 |
min(s) | 返回序列s的最小元素,s中元素需要可比较 |
max(s) | 返回序列s的最大元素,s中元素需要可比较 |
s.index(x) | 返回序列s从 i 开始到 j 位置中第一次出现元素x 的位置 |
s.index(x,i,j) | |
s.count(x) | 返回序列s中出现x的总次数 |
ls=["python",123,".io"]
len(ls)
3
s="python123.io"
max(s) #对于字符串这个序列,其中的每个元素都是字符,那么字符之间的比较是按照字母序来比较,最大的字母序是y
'y'
元组类型及操作
元组类型就是将元素进行有序的排列,用“()”形式来组织 |
元组是一种序列类型,一旦创建就不能被修改 |
使用小括号()或 tuple()创建,元素之间用逗号,分隔 |
可以使用或不使用小括号 |
元组继承了序列类型的全部通用操作 |
creature="cat","dog","tiger"
creature
('cat', 'dog', 'tiger')
color=(0x001100,"blue",creature)
color
(4352, 'blue', ('cat', 'dog', 'tiger'))
creature[::-1] #在使用[::-1]切片的时候,它并不改变原有creature变量的值,而是生成了一个新的元组值
('tiger', 'dog', 'cat')
color[-1][2] #color[-1]会索引到creature这个元素上,由于creature又是一个元组类型,它可以继续使用[2],来进一步索引它的第二个元素
'tiger'
列表类型及操作
列表是序列类型的一种扩展,十分常用 |
列表是一种序列类型,创建后可以随意被修改 |
使用方括号[ ] 或list()创建,元素间用逗号,分隔 |
列表中各元素类型可以不同,无长度限制 |
ls=["cat","dog","tiger",1024]
ls
['cat', 'dog', 'tiger', 1024]
lt=ls #我们可以使用赋值将列表ls赋值给lt,lt也具备了列表这个性质,仅仅通过“=”将一个列表变量赋值给另一个列表变量,此时并没有在系统中真正的生成一个列表,而是将同一个列表赋给了不同的名字
lt
['cat', 'dog', 'tiger', 1024]
此时并没有在系统中真正的生成一个列表,而是将同一个列表赋给了不同的名字 | |
ls | ['cat', 'dog', 'tiger', 1024] |
lt |
列表功能
函数或方法 | 描述 |
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 | 更新列表ls,其元素重复n次 |
函数或方法 | 描述 |
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中的元素反转 |
12种方法都试一遍
序列类型应用场景
元组用于元素不改变的应用场景,更多用于固定搭配场景 |
列表更加灵活,它是最常用的序列类型 |
最主要作用:表示一组有序数据,进而操作它们 |
元素遍历
for item in ls: #列表类型
<语句块>
for item in tp: #tp是元组类型的一个变量
<语句块>
数据保护
如果不希望数据被程序所改变
转换成元组类型
说了很久的元组类型终于见到了!!!