前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >03Python List不得不知的操作之改、查

03Python List不得不知的操作之改、查

作者头像
讲编程的高老师
发布2020-08-14 10:00:10
3030
发布2020-08-14 10:00:10
举报
文章被收录于专栏:讲编程的高老师

上一篇文章我们讲过,Python的List是一种内建的序列型数据结构,由一串元素组成。对于一个List型的对象,它由多个元素构成,对于这一组元素我们必须有方便的方法对它们进行各种增删改查操作才能更好使用它们。

我们已经讲过增、删两种操作了,这篇文章再来跟大家一起捋一捋改、查两种操作。

List操作之——改

其实上一篇文章里讲的增、删也算是对List的更改。我们在这里是借用数据库中常用的操作来学习List的操作,所以也借用了增、删、改、查这种说法,数据库中的改指的是对数据库中已有的记录进行更改。

(1)那如何更改List中已有的元素呢?有一种最简单、直接的办法:

代码语言:javascript
复制
>>> list1=[0,1,2,3,4]>>> list1[0]=1>>> list1[1, 1, 2, 3, 4]

上面的代码直接拿一个值粗暴的覆盖到List的某个索引处,将原来的值给挤开。

(2)除此之外呢,我们还可以很轻易的把一整个List给更改掉,像下面这样:

代码语言:javascript
复制
>>> list1[1, 1, 2, 3, 4]>>> list1=[1,2,3,4,5]>>> list1[1, 2, 3, 4, 5]

上面这串代码,也是很容易理解,相当于直接定义了一个新的list1把老的list1给拍死在沙滩上了。

(3)还有一种情况,会比较隐蔽的更改整个List。请看下面的代码:

代码语言:javascript
复制
>>> list1[1, 2, 3, 4, 5]>>> list2=list1>>> list2[0]=3>>> list1[3, 2, 3, 4, 5]

上面这段代码比较好玩了,本来我们有个list1,然后把它赋给list2,然后我们把list2[0]给改变了,然后再打印list1,发现list1[0],也被改变了。从这里看这个“=”赋值运算符是很强的一种赋值,就相当于我们把list1的那段空间也给了list2,就是用“=”号之后,list1和list2实际上是指向的同一个List的存储空间,即实质上是同一个List的两个标号而已。

(4)List还有一些改变的办法比较好玩,像下面这样:

代码语言:javascript
复制
>>> list1[3, 2, 3, 4, 5]>>> list1[1:3]=[8,8]>>> list1[3, 8, 8, 4, 5]

上面这串代码,做的事情就是把list1的[1:3]从索引为1(包含)到索引为3(不包含)这一段的List用后面新的List给替换下来。不要求后面这个list和切出来这一片list长度相同,所以这样做之后,list1的长度可能会被改变。

(5)List还有一个reverse的函数,可以将list翻转:

代码语言:javascript
复制
>>> list1[3, 8, 4, 5]>>> list1.reverse()>>> list1[5, 4, 8, 3]

其实,你能想到的任何对List的更改操作几乎都是可以实现的,比如我们可以直接用sort()来对List进行排序。只是有些更改操作我们要稍微借助一些技巧,写多几条命令。作为入门教程的文章就先不写,等后面写Python进行数据挖掘的时候再跟大家一起讨论。

List操作之——查

大家想一想,我们查一串东西我们会查哪些呢?我觉得,无非是从两个角度来查它:(1)把这个List当成一个整体,我们只查看它外面的属性,好比list的长度啊;(2)我们把List掰开,看看List里面是怎样的,比如我们想在List中查找某个值的索引。

(1)简单的,我们可以把List作为一个参数调用len、max、min之类的函数来查看这个List长度、最大值、最小值之类的属性。比如:

代码语言:javascript
复制
>>> list1[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]>>> len(list1)10>>>max(list1)4>>> min(list1)1

(2)我们可以直接用list的索引中括号中输入不同的东西,查看List对应索引上的值是什么。比如:

代码语言:javascript
复制
>>> list1[:] #查看list1所有的元素[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]>>> list1[0]#查看list1索引为0的元素1>>> list1[-2]#查看list1的倒数第2个元素(是从1开始倒数,不是从0开始倒数)4>>> list1[2:5]#查看list1的索引2-4s上的元素[2, 3, 3]

在上面的代码中,大家要注意有些地方返回的是一个元素值,有些返回的是一个List。

(3)我们还可以调用List的一些方法来查看List里面的一些东西。比如:

代码语言:javascript
复制
>>> list1[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]>>> list1.index(2) #查看2在list1中的索引,返回的是list1中第一次出现的那个2的索引1>>> list1.count(4)#查看4在list1中出现的次数4

好了,关于Python的List数据结构就讲这么多把,下一篇文章我们一起来看看Python构之String。

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

本文分享自 讲编程的高老师 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • List操作之——改
  • List操作之——查
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档