Python 列表删除元素

在 Python 中,如果想要删除列表中的某个元素,我们可以使用以下 3 种方式:

  • del 关键字
  • pop() 方法
  • remove() 方法

使用 del 删除列表元素

在 Python 中,我们可以使用 del 关键字来删除列表中的某一个元素。del 这种方式是根据 “下标” 来删除元素的。

语法:

del list[n]

说明:

n 是列表的下标,从 0 开始。

注意: del 关键字会修改原列表。

示例 1:使用 del 关键字

animals = ['ant', 'bee', 'cat', 'dog', 'ewe']
del animals[2]
print(animals)

运行结果如下。

['ant', 'bee', 'dog', 'ewe']

分析:

del 关键字的用法非常简单,直接根据列表下标来删除元素。

使用 pop() 删除列表元素

在 Python 中,我们可以使用 pop() 方法删除列表中的某一个元素(默认是最后一个元素),并且返回该元素的值。

语法:

list.pop(n)

说明:

n 是列表下标,从 0 开始。当 n 不省略时,表示删除下标为 n 的元素;当 n 省略时,表示删除的是列表最后一个元素。

注意: pop() 方法会修改原列表。

示例 2:pop() 不带参数

animals = ['ant', 'bee', 'cat', 'dog', 'ewe']
animals.pop()
print(animals)

运行结果如下。

['ant', 'bee', 'cat', 'dog']

当然,我们也可以使用多次 pop() 方法来删除列表末尾多个元素。

示例 3:pop() 带参数

animals = ['ant', 'bee', 'cat', 'dog', 'ewe']
animals.pop(2)
print(animals)

运行结果如下。

['ant', 'bee', 'dog', 'ewe']

使用 remove() 删除列表元素

在 Python 中,我们还可以使用 remove() 方法来删除列表中某一个元素。remove() 这种方式是根据 “” 来删除元素的。

语法:

list.remove(value)

说明:

如果列表存在多个相同的值,那么 remove() 方法只会删除 “第一个匹配到的值”。

注意: remove() 方法会修改原列表。

示例 4:使用 remove() 方法

animals = ['ant', 'bee', 'cat', 'dog', 'ant']
animals.remove('ant')
print(animals)

运行结果如下。

['bee', 'cat', 'dog', 'ant']

分析:

列表 animals 中存在两个 'ant',因此 animals.remove('ant') 只会删除第一个 'ant',也就是第一个匹配上的元素。使用 remove() 方法删除元素时,如果指定的元素不存在,就会报错。为了避免这种情况,我们最好先判断元素是否存在。

示例 5:先判断后使用 remove()

animals = ['ant', 'bee', 'cat', 'dog', 'ant']
if 'ant' in animals:
    animals.remove('ant')
print(animals)

运行结果如下。

['bee', 'cat', 'dog', 'ant']

分析:

if 'ant' in animals 表示判断 'ant' 是否存在于 animals。animals.remove('ant') 只会删除第一个 'ant',而后面如果还有 'ant',就不会进行删除。如果想要把列表中所有的某个值删除,此时应该怎么实现呢?最简单的就是使用 for 循环来实现。

示例 6:remove() 删除所有的某个值

animals = ['ant', 'bee', 'cat', 'dog', 'ant']
result = []

for i in range(len(animals)):
    if animals[i] != 'ant':
        result.append(animals[i])

print(result)

运行结果如下。

['bee', 'cat', 'dog']

分析:

上面示例中定义了一个空的列表 result,它主要用于保存结果。接下来使用 for 循环对列表进行遍历,如果当前项的值不是 'ant',就使用 append() 方法添加到 result 中。此外,len(animals) 表示使用 len() 函数来获取 animals 的长度。

最后,我们来总结一下删除元素的方法,有以下 4 点。

  • del、pop()、remove() 这 3 种方式都会修改原列表。
  • 如果知道想要删除的值在列表中的下标,可以使用 del 和 pop()。
  • 如果不知道想要删除的值在列表中的下标,只知道值是什么,可以使用 remove()。
  • 如果不知道列表元素个数,却想要删除最后一个元素,可以使用 pop()。
给站长反馈

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

邮箱:lvyenet@vip.qq.com

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