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

时间:2022-07-23
本文章向大家介绍03Python List不得不知的操作之改、查,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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

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

List操作之——改

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

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

>>> list1=[0,1,2,3,4]>>> list1[0]=1>>> list1[1, 1, 2, 3, 4]

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

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

>>> list1[1, 1, 2, 3, 4]>>> list1=[1,2,3,4,5]>>> list1[1, 2, 3, 4, 5]

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

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

>>> 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还有一些改变的办法比较好玩,像下面这样:

>>> 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翻转:

>>> 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长度、最大值、最小值之类的属性。比如:

>>> list1[1, 2, 2, 3, 3, 3, 4, 4, 4, 4]>>> len(list1)10>>>max(list1)4>>> min(list1)1

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

>>> 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里面的一些东西。比如:

>>> 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。