前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >来学Python啦,序列类型操作的那些事儿

来学Python啦,序列类型操作的那些事儿

作者头像
小Bob来啦
发布2020-12-28 10:17:45
8330
发布2020-12-28 10:17:45
举报
文章被收录于专栏:用户8057608的专栏

目录:

  1. 序列类型定义
  2. 序列类型处理函数及方法
  3. 元组类型及其操作
  4. 列表类型及其操作
  5. 序列类型的典型应用场景

一.序列类型定义

序列是具有先后关系的一组元素,因其具有先后关系,所以元素可以相同, 元素类型可以不同,切记集合类型是不能有相同元素的哦。

集合类型传送门:来学Python啦,集合类型及其操作

在学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为步长的元素子序。

序列类型典型的衍生类型是列表类型,所以用列表类型来举例:

实用举例:

代码语言:javascript
复制
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的总次数。

实用举例:

代码语言:javascript
复制
ls=["python",123,".py"]
len(ls)
s="python.py"#其列表元素为字符,在比较时也是按照字符排序来比较的
max(s)

三.元组类型及其操作

元组是序列类型的一种扩展,其本质上还是一种序列类型,元组具有其独特的一点,元组一旦被创建,就不能被修改。

元组使用小括号()或tuple()来创建,元素间用逗号,分隔在使用元组的时候,可以使用小括号,也可以不使用。如:

实用举例:

代码语言:javascript
复制
def fun():
	return 1,2

在Python中,上述函数返回的1和2便被当作元组类型返回,至于能返回多少个元素,是由用户自己来定义的。

元组也是可以套娃的哦

,且元组里面的元素一旦被定义,其值是不能被改变的。元组继承了序列类型的全部通用操作,即相关序列的函数,处理方法对于元组都是通用的。因为元组在创建后不能被修改,因此没有其它的特殊操作。

实用举例:

代码语言:javascript
复制
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次。

实用举例:

代码语言:javascript
复制
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():将列表中的元素反转。

实用举例:

代码语言:javascript
复制
ls=["dog","cat","tiger"]
ls.append(123)
print(ls)#打印结果
ls.insert(3,"human")
print(ls)
ls.reverse()
print(ls)

五.序列类型的典型应用场景

序列类型最常用的场景是做数据展示,比如对一组数据的表示,进而进行操作。

序列其衍生类型元组类型可以表示元素不改变的应用场景,偏向用于固定搭配场景,比如返回值return。列表则更加灵活,也是最常用的序列类型。

To:因其元组类型的元素具有不可改变的特点,所以在对某些数据进行操作时 可以起到保护数据的作用。

(Python系列)未完待续...

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档