【Python从入门到进阶】12、列表高级应用
创始人
2025-05-30 14:43:27
0

接上篇《11、字符串高级应用》
上两篇我们完善了字符串的学习,了解字符串的高级应用。本篇我们来学习有关列表的高级应用操作(列表的增删改查)。

一、列表高级定义

在我们使用list列表的过程中,常常需要对list进行处理,诸如插入新的元素、删除某个元素、修改某个元素、查找匹配的某个元素值等,这些操作都需要使用python内置的对列表进行逻辑操作的函数来完成,这部分内容就是list列表的高级应用。
下面我们通过实例及应用场景来为大家介绍列表高级应用中使用到的函数。

二、列表函数

1、添加元素

在list列表中添加元素有以下几种方法:
(1)append在末尾添加元素
append会把新元素添加到列表末尾,例子如下:

#列表的添加-append
#定义变量A,默认有3个元素
A = ['张三','李四','王五']print(f"----添加之前,列表A的数据----A={A}")#提示,并添加元素
temp = input('请输入要添加的员工姓名:')
A.append(temp)print(f'----添加之后,列表A的数据----A={A}')

效果:

这里新增的一个元素,就被追加在列表的最后一个。

(2)insert在指定位置插入元素

列表的insert函数可以在指定位置插入元素,格式如下:

insert(index,object)

其中“index”是需要插入的位置编号,为整数;object为需要插入的元素本身。样例如下:

#列表的添加-insert插入
char_list = ['a','c','d']
print(f'插入前:char_list={char_list}')
#index的值就是你想插入数据的那个下标
char_list.insert(1,'b')
print(f'插入后:char_list={char_list}')

效果:

插入前:char_list=['a', 'c', 'd']
插入后:char_list=['a', 'b', 'c', 'd']

(3)extend合并两个列表
extend可以将一个集合中的元素逐一添加到另一个集合中,格式如下:

extend(iterable)

其中iterable是一个可以迭代的对象(即里面有好多元素的对象),例如列表、元祖等等。样例如下:

#列表的添加-extend合并
num_list = [1,2,3]
num_list2 = [4,5,6]num_list.extend(num_list2)
print(f"num_list={num_list}")

效果:

num_list=[1, 2, 3, 4, 5, 6]

还有一种最简单的合同方法,是两个列表相加:

num_list3 = num_list1 + num_list2

这里num_list3就是两个列表前后拼接在一起的新列表。

2、修改元素

我们是通过指定下标来访问列表元素,因此改变元素的时候,为指定的下标赋值即可,例如:

#列表的修改
A = ['张三','李四','王五']print(f"----添加之前,列表A的数据----A={A}")#修改元素
#可以通过下标来修改,注意列表中的下标是从0开始的
A[1]="赵六"print(f'----添加之后,列表A的数据----A={A}')

效果:

----添加之前,列表A的数据----A=['张三', '李四', '王五']
----添加之后,列表A的数据----A=['张三', '赵六', '王五']

3、查找元素

所谓的查找,就是看看指定的元素是否存在,以及查看元素所在的位置,主要包含以下几种方法:
(1)in和not in
Python中查找的常用方法为:

●in(存在),如果存在那么结果为true,否则为false
●not in(不存在),如果不存在那么结果为true,否则false

样例代码:

#元素查找
nameList=['刘德华','张学友','郭富城','黎明']#获取用户要查找的名字
findName = input('请输入要查找的姓名:')#查找是否存在
if findName in nameList:print(f'在列表中找到了名为{findName}的元素')
else:print('没有找到')

效果:

请输入要查找的姓名:黎明
在列表中找到了名为黎明的元素请输入要查找的姓名:周杰伦
没有找到

注:not in和in的使用方式刚好相反,这里就不再演示,大家自己可以试一下。

(2)index和count
●index函数可以判断当前要查找的元素内容,在集合的哪个位置,如果该元素在集合中存在,会返回一个下标值;如果不存在,会返回一个ValueError报错(所以index要谨慎使用),样例如下:

#index函数查找元素
numList=[1,2,3,5,3,6]
#查找列表中元素内容为3的元素位置,默认只会查找第一个
#列表中有多个相同的元素,也只会查找第一个
print(numList.index(3)) #结果输出:2#index()中指定位置查找,第二参数是起始位置,第三个参数为查找范围
#这里从第3个位置查找内容为“3”的元素,范围是第3个位置后的5个元素内
print(numList.index(3,3,5)) #输出结果:4

●count函数用来统计一个列表中元素出现了多少次,样例代码:

#count统计某个元素在列表中出现的次数
listTest1 = [1,2,4,5,4,6,4]
print(listTest1.count(4)) #结果输出:3

4、删除元素

类比现实生活中,如果某位同学调班了,那么就应该把这个转班后的同学姓名删除掉;在开发过程中经常用到删除这种功能。
删除列表元素的常用方法有:

● del:根据下标进行删除
● pop:删除最后一个元素
● remove:根据元素的值进行删除

(1)del
 

bookName = ['小时代','骆驼祥子','哈利波特','三国演义']
print(f"删除之前:bookName={bookName}")
del bookName[0] #把小时代干掉
print(f"删除之前:bookName={bookName}")

效果:

删除之前:bookName=['小时代', '骆驼祥子', '哈利波特', '三国演义']
删除之前:bookName=['骆驼祥子', '哈利波特', '三国演义']

(2)pop
 

bookName = ['小时代','骆驼祥子','哈利波特','三国演义']
print(f"删除之前:bookName={bookName}")
bookName.pop()  #把最后一个“三国演义”干掉
print(f"删除之前:bookName={bookName}")

效果:

删除之前:bookName=['小时代', '骆驼祥子', '哈利波特', '三国演义']
删除之前:bookName=['小时代', '骆驼祥子', '哈利波特']

(3)remove
 

bookName = ['小时代','骆驼祥子','哈利波特','三国演义']
print(f"删除之前:bookName={bookName}")
bookName.remove("骆驼祥子")  #把“骆驼祥子”干掉
print(f"删除之前:bookName={bookName}")

效果:

删除之前:bookName=['小时代', '骆驼祥子', '哈利波特', '三国演义']
删除之前:bookName=['小时代', '哈利波特', '三国演义']

5、其他函数

(1)sort函数
Python的列表排序函数sort(),按照ASCII码进行排序,样例如下:

#列表的排序函数sort()
listTest1 = [6,3,9,1]
listTest1.sort()
print(listTest1) #结果输出:[1,3,6,9]

sort还可以设置两个参数,一个是key,一个是reverse。对于key,是一个函数,返回列表里元素用于比较大小的值,如果列表里的元素都是整数,因此用不上key这个参数,如果列表里的元素无法直接进行大小比较,就必须指定参数key。如下面的样例,一个装满了字典的数组,我们通过比较其每个字典元素的人员年龄来进行排序:

#sort通过函数参数,指定排序方式
list = [{"name":"张三","age":35,"job":"架构师"},{"name":"李四","age":23,"job":"程序员"},{"name":"黄婷婷","age":21,"job":"美工"},{"name":"张建洪","age":55,"job":"总经理"}]
#定义排序函数
def compare(x):return x["age"] #按照年龄元素排序
list.sort(key=compare)
n = 0
for ele in list:print(f'ele[{n}] = ', ele)n+=1

效果:

ele[0] =  {'name': '黄婷婷', 'age': 21, 'job': '美工'}
ele[1] =  {'name': '李四', 'age': 23, 'job': '程序员'}
ele[2] =  {'name': '张三', 'age': 35, 'job': '架构师'}
ele[3] =  {'name': '张建洪', 'age': 55, 'job': '总经理'}

而reverse设置排序的方法,默认为False表示从小到大排序,对上面的列表从大到小排序可以这样写:

#列表的排序函数sort()
listTest1 = [6,3,9,1]
listTest1.sort(reverse=True)
print(listTest1) #结果输出:[9,6,3,1]

(2)reverse()函数
reverse()为Python列表的反转函数,用来将列表顺序整个反过来,样例代码如下:

#reverse()列表的反转函数
listTest = [1,2,3]
listTest.reverse()
print(listTest) # 结果:[3,2,1]

(3)clear()函数
用于列表清空的函数,可以将整个列表所有元素清除,变为一个空的列表:

#clear()列表清空函数
listTest = [1,2,3,4,5,6,7,8]
listTest.clear()
print(listTest) #结果输出:[]


至此,有关Python列表高级应用的相关内容就讲解完毕了,下一篇我们来继续学习Python中元祖的高级应用,以及字符串、列表和元祖的切片操作。

参考:尚硅谷Python爬虫教程小白零基础速通教学视频

转载请注明出处:https://blog.csdn.net/acmman/article/details/129648761

相关内容

热门资讯

阿联酋最大银行及另两家中东银行... 观点网讯:5月8日,路透社报道指,阿联酋最大银行第一阿布扎比银行(First Abu Dhabi B...
深圳239亿地王易主,再造万象... 2017年,世茂集团豪掷239.43亿元拿下世茂深港国际中心地块,曾规划建筑高度达700米的深圳第一...
蔚来在安庆成立新能源科技公司 ... 天眼查App显示,近日,安庆蔚来新能源科技有限公司成立,法定代表人为姚蒀,注册资本500万人民币,经...
美国牛肉商期盼峰会重启对华出口 据路透社5月8日报道,美国牛肉生产商正期待特朗普与中国于5月14日至15日的峰会推动对华出口许可恢复...
创业板首家未盈利企业,市值突破... 5月8日,大普微总市值正式突破2000亿元大关。截至午间收盘,大普微涨14.07%,报493.1元/...
招商证券:董事长霍达因工作变动... 招商证券公告,公司董事长霍达因工作变动申请辞去董事长、执行董事等全部职务,辞任自辞呈送达董事会之日生...
原创 中... 【阅读须知】本文所引用的所有信息和数据,均为作者通过查阅官方资料与网络公开数据整理、分析而成,旨在为...
原创 从... 2026年5月5日,中国商务部发布了一项具有划时代意义的专项阻断禁令,这份公告让一向倚仗长臂管辖的美...
布米普特拉北京投资基金管理有限... 美国圣路易斯联邦储备银行总裁穆萨莱姆周三发出明确信号,美联储货币政策面临的潜在风险正在发生关键转向。...
加工的秘密:超精加工设备如何做... 你知道吗? 一根头发丝的直径大约0.07毫米,也就是70微米。 超精加工设备,可切出表面,其尺寸为0...
招商证券董事长霍达因工作变动离... 北京商报讯(记者 刘宇阳 实习生 王思奕)5月8日,招商证券发布关于公司董事长离任暨推举董事代行董事...
华帝股份营收创近3年新低,37... 乐居财经李兰近日,华帝股份(002035.SZ)发布2025年年度报告。 2025年,华帝股份实现营...
大模型融资杀疯了!月之暗面狂揽... 图源:视觉中国 5月7日,据华峰资本官微消息,国内头部大模型公司月之暗面(Kimi)于近日完成新一轮...
扎根长宁二十余载,仲利国际融资... 作为总部扎根上海长宁的优质台资金融企业,仲利国际融资租赁有限公司深耕融资租赁行业二十余载,始终坚守金...
估值210亿!李彦宏又将收获一... 来源:直通IPO,文/王非 国产GPU上市潮仍然汹涌,继两家登陆A股、两家登陆H股后,这家公司正推进...
基金“盲盒”拆了 公募基金正在迎来一场让投资者“看得懂”的变革。 近日,华夏、易方达、南方、招商等12家头部及特色基金...
原创 2... 前言 十年间,中国企业在印尼镍产业链累计砸下超过140亿美元,电厂、公路、码头和全套生产线,硬生生...
原创 欧... 俄罗斯卫星通讯社5月6日报道,欧盟宣布禁止欧洲银行为含有来自不可靠供应商的关键部件的可再生能源项目提...
原创 余... 2026年5月2日,在中国理财市场扎根十三年的余额宝,终于触碰到了一个让所有人错愕的数字——7日年化...
银华基金增聘谭普景共同管理银华... 来源:新浪基金∞工作室 5月8日,银华基金管理股份有限公司发布公告称,为银华中证机器人交易型开放式指...