Python 列表 remove() 方法

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]

上一篇: insert()

下一篇: pop()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号