在列表中删除元素,主要分为以下 3 种应用场景:
- 根据目标元素所在位置的索引值进行删除,可使用 del 语句;
- 根据元素的值进行删除,可使用列表(list类型)提供的 remove() 方法;
- 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。
根据索引值删除元素
删除列表中指定元素,和删除列表类似,也可以使用 del 语句实现。
del 语句是 Python 中专门用于执行删除操作的语句,不仅可用于删除列表的元素,也可用于删除变量等。
例如,定义一个保存 3 个元素的列表,若指定删除最后一个元素,可以使用如下的代码:
a_list=[20,2.4,(3,4)]
del a_list[-1]
print(a_list)
结果如下:
[20, 2.4]
不仅如此,del 语句还可以直接删除列表的中间一段。例如如下代码:
a_list = ['demo', 20, -2.4, (3, 4), 'lucky']
# 删除第2个到第4个(不包含)元素
del a_list[1: 3]
print(a_list)
['demo', (3, 4), 'lucky']
根据元素值进行删除
除使用 del 语句之外,Python 还提供了 remove() 方法来删除列表元素,该方法并不是根据索引来删除元素的,而是根据元素本身的值来执行删除操作的。
remove() 方法会删除第一个和指定值相同的元素,如果找不到该元素,该方法将会引发 ValueError 错误。
如下代码示范了使用 remove() 方法删除元素:
c_list = [20, 'crazyit', 30, -4, 'crazyit', 3.4]
# 删除第一次找到的30
c_list.remove(30)
print(c_list)
# 删除第一次找到的'crazyit'
c_list.remove('crazyit')
print(c_list)
#再次尝试删除 30,会引发 ValueEroor 错误
c_list.remove(30)
结果如下:
[20, 'crazyit', -4, 'crazyit', 3.4]
[20, -4, 'crazyit', 3.4]
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 9, in <module>
c_list.remove(30)
ValueError: list.remove(x): x not in list
在使用 remove() 方法删除列表元素之前,最好提前判断一下指定的元素是否存在,所以此方法常与 count() 方法组合使用。
删除列表所有元素
list 列表还包含一个 clear() 方法,正如它的名字所暗示的,该方法用于清空列表的所有元素。例如如下代码:
c_list = [20, 'crazyit', 30, -4, 'crazyit', 3.4]
c_list.clear()
print(c_list)
返回结果为:
[]
本文介绍了Python中删除列表元素的三种方法:1) 使用del语句根据索引删除;2) 使用remove()方法根据元素值删除,需注意会删除第一个匹配的元素;3) 使用clear()方法删除所有元素。示例代码和操作结果一并展示。
Python list列表删除元素的3种方法&spm=1001.2101.3001.5002&articleId=98734649&d=1&t=3&u=15ce472b2c414836bf4fb4eb736f303f)
1961

被折叠的 条评论
为什么被折叠?



