这是我参与更文挑战的第21天,活动详情查看:更文挑战
你永远要感激给你逆境的众生。——《天气之子》
目录:
- 序列类型定义
- 序列类型处理函数及方法
- 元组类型及其操作
- 列表类型及其操作
- 序列类型的典型应用场景
一.序列类型定义
序列
是具有先后关系的一组元素,因其具有先后关系,所以元素可以相同, 元素类型可以不同,切记集合类型是不能有相同元素的哦。
在学Python后面的多维数据时会讲到序列是一维数据向量,按照线性排列。与数学中的序列有些类似,如:Sn,Sn-1...其n和n-1是下标,因此,Python序列类型的元素之间也是由序号来引导,通过下标访问序列的特定元素。
序列是一个基类类型,简单来说,我们在编写代码时并不会直接使用序列类型,而是使用序列类型衍生出来的几种数据类型,比如字符串类型,元组类型及其列表类型便是序列类型的衍生。
所以序列类型的所有操作对于以上三种数据类型同样适用,以上三种数据类型又有各自独特的操作能力,所以序列是一种基础的数据类型结构。
序列类型序号的表达:
在序列类型中,元素也存在正向递增序号的索引关系和反向递减序号的索引关系。
序号不知大家是否还记得在字符串中也遇到过,字符串中序号也是有正向递增和反向递减序号两种编号体系。
可以说字符串类型就是序列类型的一种扩展
,只不过每一个元素在字符串类型中只是一个字符,而在序列类型中,其元素类型可以是任何一种数据类型 这样比较后对于序列类型的序号是不是更容易理解了呢。
二.序列类型处理函数及方法
序列类型提供了一些操作符和一些处理函数:
6个操作符
:
x in s:如果x是序列s的元素,返回True,否则返回False。
x not in s:如果x是序列s的元素,返回False,否则返回True。
s+t:连接两个序列。
s*n或n*s:将序列s复制n次。
s[i]:索引,返回s中第i个元素,i是序列的序号,其序号有正向递增,反向 递减两种体系。
s[i:j]或[i:j:k]:切片,返回序列s中第i到j以k为步长的元素子序。
复制代码
序列类型典型的衍生类型是列表类型,所以用列表类型来举例:
实用举例:
ls=["python",123,".py"]
ls[::-1]#为一种切片操作,返回列表中所有元素,不过是返回从元素末尾提取的元素子序列,即将列表元素取反,并返回
复制代码
序列类型的通用类型和方法
:
len(s):返回序列s的长度。
min(s):返回序列s中的最小元素,其元素是需要可比较的,否则报错。max(s):返回序列s中的最大元素。
s.index(x)或s.index(x,i,j):返回序列s从i开始到位置中第一次出现元素x 的位置。
s.count(x):返回序列s中出现x的总次数。
复制代码
实用举例:
ls=["python",123,".py"]
len(ls)
s="python.py"#其列表元素为字符,在比较时也是按照字符排序来比较的
max(s)
复制代码
三.元组类型及其操作
元组是序列类型的一种扩展,其本质上还是一种序列类型,元组具有其独特的一点,元组一旦被创建,就不能被修改。
元组使用小括号()或tuple()来创建,元素间用逗号,分隔在使用元组的时候,可以使用小括号,也可以不使用。
如:
实用举例:
def fun():
return 1,2
复制代码
在Python中,上述函数返回的1和2便被当作元组类型返回,至于能返回多少个元素,是由用户自己来定义的。
元组也是可以套娃的哦,且元组里面的元素一旦被定义,其值是不能被改变的。元组继承了序列类型的全部通用操作,即相关序列的函数,处理方法对于元组都是通用的。因为元组在创建后不能被修改,因此没有其它的特殊操作。
实用举例:
creature="dog","cat","tiger"
print(creature[::-1])
#在执行切片操作后,对于元组creature里面是元素并没有发生改变而是生成了一个新的元组值,比如:creature="dog","cat","tiger"
print(creature[::-1])
c=(123,"python",creature)
print(c[-1][0])
复制代码
四.列表类型及其操作
列表也是一种序列类型,在创建后可以随意被修改。
使用方法:方括号[]或list()创建,元素间用逗号分隔在列表中,各元素类型可以不同,无长度限制。如果我们在创建时用到了[]或函数list,那么我们便真正的创建了一个列表,相反,如果仅仅只是使用赋值,那么它只是将一段列表。
操作函数及其方法:
ls[i]=x:替换列表ls第i元素为x。
ls[i:j:k]=lt:用列表lt替换ls切片后对应元素子列表。
del ls[i]:删除列表ls中第i元素。
del ls[i:j:k]:删除列表中第i到第j以k为步长的元素。
ls + =lt:更新列表ls,将列表lt元素增加到列表ls中。
ls *=n:更新列表ls,其元素重复n次。
复制代码
实用举例:
ls=["dog","cat","tiger"]
ls[1:2]=[1,2,3,4]
print(ls)
ls=["dog","cat","tiger"]
ls[1:2]=[1,2,3,4]
print(ls)
del ls[::3]#删除步长为3,从第一个开始,即第一个,第四个
print(ls)
print(ls*2)
复制代码
对于列表的操作,也可以简单理解为是对数据的操作,即增删改查。
操作函数及其方法:
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=["dog","cat","tiger"]
ls.append(123)
print(ls)#打印结果
ls.insert(3,"human")
print(ls)
ls.reverse()
print(ls)
复制代码
五.序列类型的典型应用场景
序列类型最常用的场景是做数据展示,比如对一组数据的表示,进而进行操作。
序列其衍生类型元组类型可以表示元素不改变的应用场景,偏向用于固定搭配场景,比如返回值return。列表则更加灵活,也是最常用的序列类型。
To:因其元组类型的元素具有不可改变的特点,所以在对某些数据进行操作时 可以起到保护数据的作用。
(Python系列)未完待续…