一,序列类型定义
1,序列是具有先后关系的一组元素
(1)序列是一维元素向量,元素类型可以不相同,用逗号分隔开的元素列表
(2)类似数学元素序列:s0,s1,s2.......sn
(3)元素间由序号引导,通过下标访问序列的特定元素
(4)使用[ ]把内容括起来
(5)列表索引值以 0 为开始值,-1 为从末尾的开始位置。
2,序列是一个基类类型
(1)其中包括字符串类型,元组类型,列表类型
(2)序列的所有操作在其上都适用,但他们又有自己独特的操作。
3,关于序号的定义
------------------------------------》反向递减序号
-5 -4 -3 -2 -1
0 1 2 3 4
《---------------------------------- 正向递增序号
二,序列处理函数及方法
1,通用操作符
(1)in:表示是否在这个序列中,是就返回True ,否则返回False
(2)not in:表示不在这个序列中,是就放回True,否则就返回False
(3)+:两个序列相加
(4)*:表示一个序列被复制
(5)s[i]:索引,返回s中第i个元素
(6)s[i:j]或s[i:j:k]:切片,返回序列s中第i到第j以k为步长的元素子序列
注意:步长为正时表示正向从左到右,步长为负时表示反向从右到左
[i:j:k]:其中k为正时,i必须在j的左侧;k为负时,i必须在j的右侧。
2,通用函数和方法
(1)len(s):返回序列的长度
(2)min(s):返回s的最小元素,s中的元素需要有可比较性
max(s):返回s的最大值,s中的元素需要有可比较性,与min(s)同理
(3)s.index(x)或s.index(x,i,j):返回序列s从i开始到j的位置中出现元素x的位置
三,元组类型及操作
1,元组是序列类型的一种扩展
(1)元组是一种序列类型,一旦创建其值就不能修改
(2)使用小括号()或tuple()创建,元素间用逗号,分隔
(3)可以使用或不使用小括号
(4)tuple( m):将序列m转换为元组类型
注意:当一个函数返回多个值时,程序不认为返回了多个值,认为返回了一个元组。
2,元组继承序列类型的全部通用操作
(1)创建后不能修改,所以没有特殊操作
(2)对元组进行操作后生成的是新元组,比如元组元素反向输出
四,列表类型及操作
1,列表是序列类型的一种扩展,十分常用
(1)列表是一种序列类型,创建后可以随意被修改
(2)使用方括号[ ]或list() 创建,元素间用逗号,分开
(3)列表中各2元素类型可以不同,无长度限制
注意:方括号[ ]:真正创建一个列表,赋值仅传递引用
2,列表的相关函数
(1)list.append(obj):在列表的末尾添加新的对象,只能在末尾添加一个元素。
(2)list.count(obj):统计某个元素在列表中出现的次数
(3)list.index(obj):从列表中找出某个值第一个匹配项的索引位置
(4)list.insert(位置,值):将这个值插入到这个位置
(5)list.pop(位置的值):用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
(6)list.remove(obj):移除列表中某个值得第一个匹配值
(7)list.reverse():反向列表元素
(8)list.sort():对原来的列表进行正向排序
(9)补充:
date=[1,2,3,4,5,6,7,8]
x *- y=date
其中:x表示1,y表示8,其中*-表示省略,是列表类型。
五,序列类型应用场景
元组和列表
1,数据表达
2,数据保护
六,拷贝
1,浅拷贝:多个别名,一个地址,一个改变,全部别名的对象都改变
2,深拷贝:
import copy
l1=[[10,9],2,3]
l3=copy.deepcopy(l1)
其中2,3的地址相同:[10,9]的地址不相同