每日分享
Make the rest of your life the best of your life.
让余生成为您生命中最美好的时光。
小闫语录:
比昨天好一点,让每天都有进步有收获。
前言
昨天的文章『每天 3 分钟,小闫带你学 Python(十一)』讲了列表的下标索引和切片、列表的循环遍历以及列表的嵌套。下标索引和切片与字符串操作相同,循环遍历用到了 for
循环和 while
循环,而列表的嵌套则同 if
等语句类似,就是一层套一层而已。
今天继续列表的相关操作。
1.添加元素
列表既然是可变的数据类型,那么它应该支持 增删改查
的相关操作,即增加元素、删除元素、修改元素、查找元素。首先来看一下如何给列表增加元素。
1.1 append
前面已经讲过一个方法,那便是 append
。如下示例:
>>> mylist = [1, 2, 3] >>> mylist.append('EthanYan') >>> mylist [1, 2, 3, 'EthanYan']
append 方法可以向列表尾部添加元素。
在 python 自带的解释器中,如果输入变量,那么会直接返回其值,并不需要 print 操作。解答一部分小伙伴的疑惑。
>>
后方是代码,下方为对应的输出结果。
1.2 extend
extend
可以将一个列表中的元素,逐一添加到另一个列表中:
>>> mylist = [1, 2, 3] >>> testlist = [4, 5, 6] >>> mylist.extend(testlist) >>> mylist [1, 2, 3, 4, 5, 6]
有人也许有疑惑,难道 append
不可以吗?咱们下面进行实验:
>>> mylist = [1, 2, 3] >>> testlist = [4, 5, 6] >>> mylist.append(testlist) >>> mylist [1, 2, 3, [4, 5, 6]]
可以看到,上方的
append
是将testlist
作为一个整体添加到了mylist
的尾部。
1.3 insert
insert
就厉害了,它可以在指定的位置处添加元素,可以称其为 插入
,对应 insert
的翻译。语法为:
insert(index, object)
index 代表下标,object 代表插入的对象
示例如下:
>>> mylist = [1, 2, 3] >>> mylist.insert(2, 'EthanYan') >>> mylist [1, 2, 'EthanYan', 3]
可以看到我们在下标为 2 处,添加元素
EthanYan
后,原本下标为 2 处的元素向后移动了一个位置。
2.删除元素
类比现实生活,一个公司名单中有 6 个人,做裁员后,名单中只剩下了老板。先不要考虑倒闭之类的情况,该如何进行操作?肯定是将其中 5 人的名字从名单中删除。列表也需要这样的功能。下面介绍三个删除的方法:
2.1 del
del
可以根据下标进行删除相应元素
>>> mylist = [1, 2, 3] >>> del mylist[0] >>> mylist [2, 3]
上述操作为删除
0
号元素,再次输出原列表,发现已经删除。
2.2 pop
pop
方法可以删除列表中最后一个元素
>>> mylist = [1, 2, 3] >>> mylist.pop() 3 >>> mylist [1, 2]
可以看到在执行
mylist.pop()
时,会有一个返回值,那便是最后一个元素。返回值是执行相关操作后返回给我们的结果。因此我们可以在执行pop
时,使用变量进行接收返回值。最后发现原列表中删除掉了最后一个元素。>>> mylist = [1, 2, 3] >>> ele = mylist.pop() >>> ele 3ele 在接收返回值后,输出其值,发现为列表最后一个元素。
其实 pop
方法中也可以传入下标,进行删除指定的元素,它与 del
的不同之处为 pop
方法执行后会有一个返回值,那便是删除的元素,我们可以使用变量进行接收。
>>> mylist = [1, 2, 3] >>> ele = mylist.pop(0) >>> ele 1
删除 0 号元素后,会将 0 号处的值返回,使用变量 ele
进行接收,发现变量的值为删除的元素。
2.3 remove
remove
根据元素的值进行删除,比如要从名单中删除 小红
,那么直接将 小红
作为参数传到方法中,进行删除即可。如下示例:
>>> mylist = [1, 2, 3] >>> mylist.remove(1) >>> mylist [2, 3]
remove
的括号中传入要删除的元素值,比如上方代码要删除列表中的元素 1
,那么我们直接将 1
传入,操作执行后查看原列表,得到验证。
3.修改元素
前面记忆了大量的方法,大家是不是感觉有些混乱。修改元素没有新的方法,使用之前的下标即可完成。思路为:利用下标找到对应的元素,然后对其重新赋值即可,如下:
>>> mylist = [2, 7, 3, 5] >>> mylist[1] = 'EthanYan' >>> mylist [2, 'EthanYan', 3, 5]
上方代码将列表中 1 号元素 7
修改为 EthanYan
4. 查找元素
4.1 in / not in
查找某一个元素是否在列表中,可以使用两个方法 in
或者 notin
。如同他们本身的英文含义一样。返回结果为布尔值,ture 或者 flase。true 代表在,false 代表不在。
>>> mylist = [2, 7, 3, 5] >>> 1 in mylist False >>> 2 in mylist True >>> 1 not in mylist True
4.2 index / count
这俩方法是不是似曾相识?没错,字符串的相关操作中见过它俩,其实它们的含义也是相同的,下面举例验证:
index
表示查询元素的下标。
>>> mylist = [2, 7, 3, 5] >>> mylist.index(2, 0, len(mylist)) 0
如上代码,index 中第一个参数 2 为要查询的元素值;第二个参数 0 为起始下标;第三个参数 len(mylist) 为结束位置下标。
执行完此方法返回结果为查询元素值的下标。
注意:不包含结束位置下标。即起始下标到结束下标的区间是左闭右开的。
count
方法可以统计某个元素在列表中出现的次数。
>>> mylist = [2, 7, 3, 5, 2, 2] >>> mylist.count(2) 3
列表中 2 出现了 3 次,因此执行完此方法后返回出现次数 3.
5.排序
列表可以将元素执行排序操作,如列表为 [1, 2, 3] ,想让其变为 [3, 2, 1]。列表的排序操作有两个常用方法,如下:
5.1 sort
sort
方法是将列表按特定顺序重新排列,默认为由小到大,参数 reverse=True 可改为倒序,由大到小。
>>> mylist = [2, 7, 3, 5] >>> mylist.sort() >>> mylist [2, 3, 5, 7] >>> mylist.sort(reverse=True) >>> mylist [7, 5, 3, 2]
5.2 reverse
reverse
方法是将列表逆置,即将列表反转,原本是 [2, 5, 3] ,执行此方法后变为 [3, 5, 2]。
>>> mylist = [2, 5, 3] >>> mylist.reverse() >>> mylist [3, 5, 2]
6.作业
今日学习目标:熟练掌握列表的增删改查操作。
1.结合示例练习列表的增删改查操作