python教程:删除列表中某个元素的3种方法

Python中list元素删除方法详解:remove,pop,del,

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python中关于删除list中的某个元素,一般有三种方法:remove、pop、del:

1.remove:

删除单个元素,删除首个符合条件的元素,按值删除

举例说明:

>>> str=[1,2,3,4,5,2,6]
>>> str.remove(2)
>>> str

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

2.pop:

删除单个或多个元素,按位删除(根据索引删除)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> str=[0,1,2,3,4,5,6]
>>> str.pop(1) #pop删除时会返回被删除的元素
>>> str

[0, 2, 3, 4, 5, 6]
>>> str2=['abc','bcd','dce']
>>> str2.pop(2)

'dce'
>>> str2
['abc', 'bcd']

3.del:

它是根据索引(元素所在位置)来删除

举例说明:

>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str

[1, 3, 4, 5, 2, 6]
>>> str2=['abc','bcd','dce']
>>> del str2[1]
>>> str2

['abc', 'dce']

除此之外,del还可以删除指定范围内的值。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素)
>>> str

[0, 1, 4, 5, 6]

del 也可以删除整个数据对象(列表、集合等)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>> str=[0,1,2,3,4,5,6]
>>> del str
>>> str #删除后,找不到对象

Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
str
NameError: name 'str' is not defined

注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除。

补充: 删除元素的变相方法

s1 = (1, 2, 3, 4, 5, 6)
s2 = (2, 3, 5)
s3 = []
for i in s1:
    if i not in s2:
        s3.append(i)
print('s1_1:', s1)
s1 = s3
print('s2:', s2)
print('s3:', s3)
print('s1_2:', s1)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

# 普通文本型回答 在 Python删除列表中的某个元素有多种方法,常用的方式包括: --- ### 1. `remove()` —— 删除第一个匹配的值 ```python lst = [1, 2, 3, 2, 4] lst.remove(2) # 删除第一个出现的 2 print(lst) # 输出: [1, 3, 2, 4] ``` ⚠️ 注意:如果元素不存在,会抛出 `ValueError`。 --- ### 2. `pop()` —— 按索引删除并返回该元素 ```python lst = [&#39;a&#39;, &#39;b&#39;, &#39;c&#39;] lst.pop(1) # 删除索引为 1 的元素 &#39;b&#39; print(lst) # 输出: [&#39;a&#39;, &#39;c&#39;] ``` 👉 不传参数时默认删除最后一个元素。 --- ### 3. `del` 语句 —— 按索引或切片删除 ```python lst = [10, 20, 30, 40] # 删除单个元素 del lst[1] print(lst) # [10, 30, 40] # 删除多个元素(切片) del lst[1:3] print(lst) # [10] ``` --- ### 4. 列表推导式 —— 创建新列表,过滤掉指定元素 ```python lst = [1, 2, 3, 2, 4] lst = [x for x in lst if x != 2] print(lst) # 输出: [1, 3, 4] ``` ✅ 适用于删除所有等于某值的元素。 --- ### 5. `filter()` 函数 —— 过滤后生成新列表 ```python lst = [1, 2, 3, 2, 4] lst = list(filter(lambda x: x != 2, lst)) print(lst) # 输出: [1, 3, 4] ``` --- ## 总结建议 | 方法 | 适用场景 | |------|----------| | `remove()` | 删除第一个匹配项 | | `pop()` | 删除指定置,并需要其返回值 | | `del` | 删除指定置或范围,不返回新列表 | | 列表推导式 | 删除所有满足条件的元素,推荐使用 | 根据需求选择最合适的方法即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值