Python list列表删除元素(3种方法)

在列表中删除元素,主要分为以下 3 种应用场景:

  1. 根据目标元素所在位置的索引值进行删除,可使用 del 语句;
  2. 根据元素的值进行删除,可使用列表(list类型)提供的 remove() 方法;
  3. 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。

根据索引值删除元素

删除列表中指定元素,和删除列表类似,也可以使用 del 语句实现。

del 语句是 Python 中专门用于执行删除操作的语句,不仅可用于删除列表的元素,也可用于删除变量等。

例如,定义一个保存 3 个元素的列表,若指定删除最后一个元素,可以使用如下的代码:

 
  1. a_list=[20,2.4,(3,4)]
  2. del a_list[-1]
  3. print(a_list)

输出结果为:

[20, 2.4]


不仅如此,del 语句还可以直接删除列表的中间一段。例如如下代码:

 
  1. a_list = ['crazyit', 20, -2.4, (3, 4), 'fkit']
  2. # 删除第2个到第4个(不包含)元素
  3. del a_list[1: 3]
  4. print(a_list)

输出结果为:

['crazyit', (3, 4), 'fkit']

根据元素值进行删除

除使用 del 语句之外,Python 还提供了 remove() 方法来删除列表元素,该方法并不是根据索引来删除元素的,而是根据元素本身的值来执行删除操作的。

remove() 方法会删除第一个和指定值相同的元素,如果找不到该元素,该方法将会引发 ValueError 错误。

如下代码示范了使用 remove() 方法删除元素:

纯文本复制
 
  1. c_list = [20, 'crazyit', 30, -4, 'crazyit', 3.4]
  2. # 删除第一次找到的30
  3. c_list.remove(30)
  4. print(c_list)
  5. # 删除第一次找到的'crazyit'
  6. c_list.remove('crazyit')
  7. print(c_list)
  8. #再次尝试删除 30,会引发 ValueEroor 错误
  9. 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() 方法,正如它的名字所暗示的,该方法用于清空列表的所有元素。例如如下代码:

纯文本复制
 
  1. c_list = [20, 'crazyit', 30, -4, 'crazyit', 3.4]
  2. c_list.clear()
  3. print(c_list)

输出结果为:

[]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值