Python remove() 语法
remove() 是 Python 列表的一个方法,它用于从列表中删除第一个被匹配的元素。
语法:
list.remove(value)说明:
value 是必选参数,它是一个元素。如果被删除的元素不存在,则会抛出 ValueError 异常。
remove() 方法会修改原列表,并且不会返回任何值。
注意:
- remove() 会直接修改原列表,而非生成新列表。
- 如果不确定元素是否存在,建议先用 if value in list 检查,然后再使用 remove() 删除,这样可以避免抛出异常。
- remove() 会遍历列表查找值,时间复杂度为 O(n),对长列表需要谨慎使用。
Python remove() 摘要
| 使用频率 | 中 |
|---|---|
| 修改原列表 | 是 |
| 时间复杂度 | O(n) |
| 官方文档 | 查看 |
Python remove() 示例
接下来,我们通过几个简单的示例来讲解一下 Python remove() 方法是如何使用的。
示例 1:remove() 删除唯一元素
cities = ['北京', '上海', '广州', '深圳', '杭州']
cities.remove('广州')
print(cities)运行结果如下。
['北京', '上海', '深圳', '杭州']示例 2:remove() 删除重复元素
cities = ['北京', '上海', '广州', '深圳', '杭州', '广州']
cities.remove('广州')
print(cities)运行结果如下。
['北京', '上海', '深圳', '杭州', '广州']分析:
如果列表包含重复的元素,那么 remove() 方法只会删除第一个被匹配的元素。
示例 3:remove() 删除不存在的元素
cities = ['北京', '上海', '广州', '深圳', '杭州']
cities.remove('武汉')
print(cities)运行结果如下。
(报错)ValueError: list.remove(x): x not in list示例 4:remove() 实现安全删除
cities = ['北京', '上海', '广州']
target = '深圳'
if target in cities:
cities.remove(target)
else:
print(f'{target}不在列表中') 运行结果如下。
深圳不在列表中分析:
在使用 remove() 删除元素时,可以先使用 in 关键字预先检查元素是否存在,这块可以避免 ValueError 异常。
del、pop() 和 remove()
对于删除操作,列表提供了 del、pop() 和 remove() 这几种方式。
- 如果希望根据 “下标” 来删除元素,应该使用 pop() 方法。
- 如果希望根据 “值” 来删除元素,应该使用 remove() 方法。
- 如果希望删除列表的一部分,应该使用 del 关键字。
示例 5:del vs pop() vs remove()
# pop()
nums1 = [10, 20, 30, 40, 50]
nums1.pop(1)
print(nums1)
# remove()
nums2 = [10, 20, 30, 40, 50]
nums2.remove(50)
print(nums2)
# del
nums3 = [10, 20, 30, 40, 50]
del nums3[0:2]
print(nums3)运行结果如下。
[10, 30, 40, 50]
[10, 20, 30, 40]
[30, 40, 50]