|Python新手小白低级教程|第十三章:数据结构(四):列表高级操作

前言

上节课我们学习了字典内容,还是比较复杂且实用的。这节课,我们继续学习列表,了解它的高级操作,让列表变得更加实用!

一、列表删除/添加

上次我们学习了列表的简单操作,这次我们学习的操作会更多,干货满满,大家好好记录,并学会实操,让Python的实用性和建立深度增大。
话不多说,开始我们学习的第一个函数:

1.append()函数

这个函数不难,我们先把append拆开看:
app,增加;end,末尾。
想必大家也猜到七八分了:append的意思就是在列表的末尾添加元素
我们先看看例子:
在这里插入图片描述
格式我就不细讲了,就是对象.append(‘添加项’)。
但是,append的功能还是太单一了,只能在末尾加,实用性较低。所以,接下来我们会讲一个比这个更加强大的内容:insert函数

2.insert()函数

这个函数虽然不难,但却海纳百川,啥位置都能加。
格式我再说一下:对象.insert(添加位置索引,添加元素)
我们来看一下具体的示例,给大家看看它和上面讲的append的区别:
在这里插入图片描述
怎么样,你学会了吗?

3.del删除符号

这个符号大家之前见过,在字典里它用来删除选项,在列表里也不例外:
在这里插入图片描述
所以,大家只要回想一下之前讲的字典,就可以相辅相成记住这个符号

4.pop删除符号

这个符号非常有意思,和append一样,是在末尾做文章的:删除末尾的数字
在这里插入图片描述
大家会发现:它删除末尾的数字后,可以继续提取使用,就像上面的例子,但是再查看整个列表的时候,它所删除的数消失了。所以,把用pop函数删除的字符可以通过变量再次查看,不过它脱离了列表。

5.pop函数的高级用法

有的小伙伴会问:pop这么神奇的函数,难道只能在末尾一番成就?不不不,波波仔接下来叫你快捷方法:只要在pop后面的括号里写出你想删除的列表字符所对应的索引就可以了。
在这里插入图片描述
怎么样,是不是很神奇?
当然,我们所删除的值也可以像之前的字典一样配合format函数使用(f也行)。所以,pop函数是比较灵活的。
如果大家想要储存删除的值,请使用pop()函数。

6.remove()函数

这个函数和上面的del和pop一样都可以删除,不过删除方式有点独特:
在这里插入图片描述
remove的括号里得写上想要删的字符,不过有一点要注意:在做连续程序删除时注意索引变化,否则会这样:
在这里插入图片描述
此时的‘3’已经变成了上面说的第一项,因为1的缺失。所以,大家一定要注意,免得一头雾水。

二、列表排序/组织

1.sort()排序

这个函数大家应该没见过,但是它的效果非常符合我们的需求。
来看下面:
在这里插入图片描述
我们希望把下面那一行代码改成上面的那种整齐,那我们就要使用sort函数
在这里插入图片描述
看,sort就是这个效果,把数字排整齐,这样以后就不用手动改了,多好!
不例外,它也能给字母排序,就像下面:
在这里插入图片描述
所以,sort的实用性是很高的。

2.sorted()排序

在这里插入图片描述
奇怪,怎么sort变成了过去式sorted呢?这是临时排序。那么,sorted和他的原形“sort”又有什么区别呢?

3.sort()和sorted()的区别

和sort有所不同:sort可以实现永久排序,且格式**对象.sort()和sorted的sorted(列表名)**不同;而sorted只能实现暂时的排序,在不用sorted(列表名)结构之后就没用了,变回了原来的排序。
所以,用哪个函数取决于具体情况,大家不要一概而论!

4.reverse()倒排序

这个函数非常有意思,和上面的sort不一样,它是给列表来个倒立:倒着排。
在这里插入图片描述
这就是reverse函数,给列表倒序。
那么它能不能顺带着排序呢?

额,不行了。所以,你们记住这几个符号吗?

三、for循环遍历列表

1.实例

这次,我下定决心,要讲for循环遍历列表了。
格式非常简单,大家不用学for循环的原理,所以大家不要急,在前期记录格式就可以了。

num = ['','','']
for 自取变量名 in 列表名字:
	print(自取变量名)

这就是基础格式。
大家记住几点
1.for循环的前面是自取变量,后面才是列表名。一旦格式错误,那麻烦就打了。
2.for循环的嵌套很重要,一旦有缩进错误,那麻烦就大了。不过,缩进错误非常明显,只要在程序里看到红色的空格,那么请注意缩进!!!
在这里插入图片描述
非常简单,不过for循环遍历列表和直接输出效果明显不一样,一个是完整的列表,一个是列表单引号里面的字符。

2.工作原理

简单来说,就是这样:
还是上面的语句。

num = ['1','2','3']
for nums in num:
    print(nums)

它的工作流程是这样的:
nums = num[0]
nums = num[0],num[1]
nums = num[0],num[1],num[2],……num[n]
输出时:
num[0]
num[1]
num[2]
……
num[n]
这就是循环遍历列表。是不是很神奇?在以后,引入了range之后我们会让for循环更加有用。

四、习题

OK,列表的高级操作到此为止。接下来就是习题时间。
我们这节课学习了大量的函数,我们挨个来复习一下。

1.1.1

下面是列表num

num = ['1','121','12321','1234321']

1.输出列表
2.遍历列表
3.在末尾加上‘123454321’
4.把列表倒排

1.1.2

下面是变量word

word = 'augbcdejtviqhsyzwxmrfklnop'

1.制表
2.进行暂时排序,并输出两次
3.进行永久排序,并输出两次
4.遍历列表并提取前面7个字母

1.1.3

下面是同学聚会的名单

student = ['Bob','Simon','Lucy','Lily','Sam','John']

1.遍历列表
2.用pop不断删除列表名单(留住数据),直到剩下Bob和John为止。
3.用append()在末尾增加“Lily”
4.用insert()在首尾加上Sam的名字,打印
5.聚会结束,删除除了Lily之外所有人,打印列表

总结

OK,数据结构内容就此正式完结!经过4课的学习,大家对基础数据结构有了更多了解吗?数据结构在学会for循环和while循环之后飞黄腾达,超级使用!大家期待循环课程哦,我们先学习while循环,勋勋渐进,学习更多有意的内容!

最后,制作不易,别忘了一圈三连哦!

Test Key

1.1.1

num = ['1','121','12321','1234321']
#1
print(num)
#2
for nums in num:
    print(nums)
#3
num.append('123454321')
print(num)
#4
num.reverse()
print(num)

1.1.2

word = 'augbcdejtviqhsyzwxmrfklnop'
#1
w_list = list(word)
print(w_list)
#2
print(sorted(w_list))
print(w_list)
#3
w_list.sort()
#4
print(w_list)
word_7_i = w_list[0:7]
print(word_7_i)

1.1.3

student = ['Bob','Simon','Lucy','Lily','Sam','John']
#1
for people in student:
    print(people)
#2
simon = student.pop(1)
lucy = student.pop(1)
lily = student.pop(1)
sam = student.pop(1)
#3,4
student.append(lily)
student.insert(0,sam)
print(student)
#5,6
del student[0:3]
print(student)
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值