点击蓝字
关注我们
Python小白必看!列表“删除”操作,三种姿势任你选
一、先唠唠:列表也需要“断舍离”
咱先回顾下前两期的内容,列表就像一本灵活的活页笔记本,`append()`是往最后贴纸条,`insert()`是在任意位置插纸条,把笔记本填得满满当当。
但生活里哪有只加不减的道理啊?比如你列的零食清单:["奶茶", "辣条", "薯片", "可乐", "炸鸡"],突然想起自己在减肥,得把“可乐”删掉;又或者买完“薯片”了,要从清单里划掉;甚至有时候想直接清空整个清单,重新规划。
这时候就需要掌握列表的“删除”技能,Python给咱们准备了三种超实用的删除姿势,新手也能轻松上手,主打一个“想删啥就删啥,想咋删就咋删”,今天就给大家唠明白这三种删除方法。
二、核心技能:三种删除方法,各有神通
1
2.1 按“位置”删:`pop()`,删完还能把“战利品”拿走
`pop()`方法就像在活页笔记本上,指定撕下来某一页,还能把这页纸攥在手里留着用,它的核心是根据“下标”(位置)删除元素,而且删除后还能返回被删除的元素(简单说就是知道自己删了啥)。
先记牢它的使用格式,分两种情况:
1. 指定位置删除:`列表名.pop(要删除元素的下标)`
2. 不指定位置删除:`列表名.pop()`(默认删除最后一个元素,相当于“撕最后一页”)
这里再复习下老知识点:列表下标从0开始计数,第1个元素下标是0,第2个是1,以此类推。
咱还是用熟悉的零食清单来实操,先创建基础列表:
python
#创建零食列表(下标0:奶茶,1:辣条,2:薯片,3:可乐,4:炸鸡)
snack_list = ["奶茶", "辣条", "薯片", "可乐", "炸鸡"]
print("删除前:", snack_list) # 输出:删除前: ['奶茶', '辣条', '薯片', '可乐', '炸鸡']
现在,你想删掉“可乐”(下标3),还想知道自己删的是不是“可乐”,用`pop()`就对了:
python
#指定下标3,删除"可乐",并接收被删除的元素
deleted_item = snack_list.pop(3)
print("删除后:", snack_list) # 输出:删除后: ['奶茶', '辣条', '薯片', '炸鸡']
print("被删掉的是:", deleted_item) # 输出:被删掉的是: 可乐
是不是超贴心?不仅精准删掉了指定位置的元素,还能把被删的内容“拿回来”,后续想用到这个元素也完全没问题。
再试一个不指定下标,默认删最后一个:
python
#不指定下标,默认删除最后一个元素(炸鸡)
last_deleted = snack_list.pop()
print("再删除后:", snack_list) # 输出:再删除后: ['奶茶', '辣条', '薯片']
print("这次被删掉的是:", last_deleted) # 输出:这次被删掉的是: 炸鸡
完美!不用记下标,想删最后一个元素,直接`pop()`就行,懒人福音有没有~
`pop()`可没有`insert()`那么“贴心”,如果你填的下标超出了列表的最大下标,或者列表已经是空的了还去`pop()`,它会直接报错给你看,相当于“你让我撕一页不存在的纸,我可做不到”。
错误示范,千万别学:
python
#当前列表最大下标是2(对应薯片),填下标10,直接报错
snack_list.pop(10)
2
2.2 按“内容”删:`remove()`,看见啥删啥(
不用记位置)
很多时候,我们只知道要删“可乐”,但压根记不住它的下标是多少,这时候`pop()`就歇菜了,得请出`remove()`方法。
`remove()`就像在活页笔记本上,直接找写着某个内容的纸条,找到后就撕下来扔掉,它的核心是根据“元素内容”删除,不用记下标,主打一个“认内容不认位置”。
记牢它的使用格式:`列表名.remove(要删除的元素内容)`
先重置一下零食列表,方便演示:
python
#当前列表最大下标是2(对应薯片),填下标10,直接报错
snack_list = ["奶茶", "辣条", "薯片", "可乐", "炸鸡", "可乐"]
print("删除前:", snack_list) # 输出:删除前: ['奶茶', '辣条', '薯片', '可乐', '炸鸡', '可乐']
现在,你想删掉“可乐”,但不想记下标,直接用`remove()`:
python
#按内容删除"可乐"
snack_list.remove("可乐")
print("删除后:", snack_list) # 输出:删除后: ['奶茶', '辣条', '薯片', '炸鸡', '可乐']
是不是很方便?不用管下标,直接填要删的内容就行。
注意哦,`remove()`是个“专一的家伙”,它只会删除列表中第一次出现的目标元素,后面再出现的同名元素,它会直接忽略,相当于“找到第一个就收手,剩下的不管了”。
就像上面的演示,列表里有两个“可乐”,`remove()`只删了第一个,第二个还乖乖待在列表里,想把所有“可乐”都删掉,就得多次调用`remove()`,或者用其他进阶方法(新手阶段先掌握基础即可)。
`remove()`认死理,如果你要删的内容在列表里压根不存在,它会直接报错,相当于“我找遍了整本笔记本,都没找到你说的内容,没法删”。
错误示范,千万别学:
python
#列表里没有"冰淇淋",用remove()删除会报错
snack_list.remove("冰淇淋")
3
2.3 一键“清空”:`clear()`,把笔记本撕成空
白本
有时候,我们不想一个个删,想直接清空整个列表,重新开始,这时候就需要`clear()`方法,它就像把活页笔记本里的所有纸条都撕下来,扔得一干二净,只留下一本空白的笔记本,主打一个“一键重置,从头再来”。
记牢它的使用格式:`列表名.clear()`,没有任何参数,一键操作,超简单。
还是用零食列表来演示:
python
snack_list = ["奶茶", "辣条", "薯片", "可乐", "炸鸡"]
print("清空前:", snack_list) # 输出:清空前: ['奶茶', '辣条', '薯片', '可乐', '炸鸡']
snack_list.clear()
print("清空后:", snack_list) # 输出:清空后: []
看,清空后列表变成了`[]`(空列表),干干净净,想重新填内容直接就行,不用重新创建列表,懒人必备技能~
有小白可能会问,我直接写`snack_list = []`不也能得到空列表吗?跟`clear()`有啥区别?
简单说,`clear()`是“清空现有笔记本的内容”,笔记本还是那本;而`snack_list = []`是“扔掉现有笔记本,重新拿一本新的空白笔记本”。新手阶段暂时不用纠结细节,先掌握`clear()`的使用即可。
三、拓展小对比:三种删除方法,该怎么选?
很多小白会纠结,三种删除方法,到底该用哪个?其实很简单,记住这个“按需选择”原则就行,给大家做了个直观对比表,一看就懂:

新手阶段,把这三种方法搞明白,列表的“删除”操作就基本通关了,后续遇到复杂场景,再慢慢进阶即可。
四、总结:列表删除三剑客,小白必备技能
1. Python列表=活页笔记本,删除操作=给笔记本“断舍离”;
2. 按位置删用`pop()`,能保留被删内容,默认删最后一个;
3. 按内容删用`remove()`,不用记下标,只删第一次出现的元素;
4. 一键清空用`clear()`,快速得到空白列表,方便重新填充;
5. 三种方法按需选择,避开报错坑,新手也能轻松拿捏。
其实Python列表的操作都很贴近生活,只要找对比喻,理解起来一点都不难。下次再给大家唠唠列表的其他有趣操作,敬请期待哦~

扫码关注我们
知识奇妙世界