五、删除列表元素
删除列表元素是一种常见的列表操作,它是指从一个列表中删除特定的元素或者所有的元素,使得列表中不再包含某元素或者任何元素。Python 中常用的删除列表元素的方式有 del 语句、remove()方法、pop()方法和 clear()方法,具体介绍如下。
1、del语句
del 语句用于删除列表中指定位置的元素,示例代码如下:
names = ['小明', '小红', '小兰']
del names[0] # 从列表中删除索引为0的元素
print(names)
运行代码,结果如下所示:
[' 小红 ', ' 小兰 ']
此外,del 语句也可以删除整个列表,示例代码如下:
del names # 删除列表names
print(names)
以上程序运行后会出现错误,错误信息具体如下:
Traceback (most recent call last):
File "E:\Fastprograms3\Chapter05\code02.py", line 5, in <module>
print(names)
NameError: name 'names' is not defined
从最后一条错误信息可以看出,程序没有找到名为 names 的变量。之所以出现这种情况,是因为 Python 底层已经从命名空间中删除了变量 names,解除了变量 names 与列表的关联关系,并且触发了垃圾回收机制,将不再使用的列表当作垃圾进行回收,以后无法再访问变量 names 了。
2、remove()方法
remove () 方法用于删除列表中的某个元素,若列表中有多个匹配的元素,remove () 只删除匹配到的第一个元素,示例代码如下:
chars = ['h', 'e', 'l', 'l', 'e']
chars.remove('e') # 删除匹配到的第一个'e'
print(chars)
运行代码,结果如下:
['h', 'l', 'l', 'e']
3、pop()方法
pop () 方法用于删除列表中指定位置的元素,并返回被删除的元素。若未指定具体元素,则该方法会删除列表中的最后一个元素。示例代码如下:
numbers = [1, 2, 3, 4, 5]
print(numbers.pop()) # 删除列表中的最后一个元素
print(numbers.pop(1)) # 删除列表中索引为1的元素
print(numbers)
运行代码,结果如下:
5
2
[1, 3, 4]
注意,如果指定位置超出了列表的长度,则会导致程序出错。
4、clear()方法
clear () 方法用于清空列表中的所有元素,将列表变为空列表,示例代码如下:
names = [1, 2, 3]
names.clear() # 清空列表中的所有元素
print(names)
运行代码,结果如下:
[]
从上述结果可以看出,names 列表中没有任何元素。