Python list列表删除元素的4种方法

作者:zx 时间:2021-09-11 06:39:09 

目录
  • del:根据索引值删除元素

  • pop():根据索引值删除元素

  • remove():根据元素值进行删除

  • clear():删除列表所有元素

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

  • 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;

  • 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;

  • 将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。

del:根据索引值删除元素

del 是 Python 中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素。我们已经在《Python列表》中讲解了如何删除整个列表,所以本节只讲解如何删除列表元素。

del 可以删除列表中的单个元素,格式为:


del listname[index]

其中,listname 表示列表名称,index 表示元素的索引值。

del 也可以删除中间一段连续的元素,格式为:


del listname[start : end]

其中,start 表示起始索引,end 表示结束索引。del 会删除从索引 start 到 end 之间的元素,不包括 end 位置的元素。

【示例】使用 del 删除单个列表元素:


lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
#使用正数索引
del lang[2]
print(lang)
#使用负数索引
del lang[-2]
print(lang)

运行结果:
['Python', 'C++', 'PHP', 'Ruby', 'MATLAB']
['Python', 'C++', 'PHP', 'MATLAB']

【示例】使用 del 删除一段连续的元素:


lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
del lang[1: 4]
print(lang)
lang.extend(["SQL", "C#", "Go"])
del lang[-5: -2]
print(lang)

运行结果:
['Python', 'Ruby', 'MATLAB']
['Python', 'C#', 'Go']

pop():根据索引值删除元素

Python pop() 方法用来删除列表中指定索引处的元素,具体格式如下:


listname.pop(index)

其中,listname 表示列表名称,index 表示索引值。如果不写 index 参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作。

pop() 用法举例:


nums = [40, 36, 89, 2, 36, 100, 7]
nums.pop(3)
print(nums)
nums.pop()
print(nums)

运行结果:
[40, 36, 89, 36, 100, 7]
[40, 36, 89, 36, 100]

大部分编程语言都会提供和 pop() 相对应的方法,就是 push(),该方法用来将元素添加到列表的尾部,类似于数据结构中的“入栈”操作。但是 Python 是个例外,Python 并没有提供 push() 方法,因为完全可以使用 append() 来代替 push() 的功能。

remove():根据元素值进行删除

除了 del 关键字,Python 还提供了 remove() 方法,该方法会根据元素本身的值来进行删除操作。

需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。

remove() 方法使用示例:


nums = [40, 36, 89, 2, 36, 100, 7]
#第一次删除36
nums.remove(36)
print(nums)
#第二次删除36
nums.remove(36)
print(nums)
#删除78
nums.remove(78)
print(nums)

运行结果:
[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):
    File "C:\Users\mozhiyan\Desktop\demo.py", line 9, in <module>
        nums.remove(78)
ValueError: list.remove(x): x not in list

最后一次删除,因为 78 不存在导致报错,所以我们在使用 remove() 删除元素时最好提前判断一下。

clear():删除列表所有元素

Python clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码:


url = list("//www.jb51.net/python/")
url.clear()
print(url)

运行结果:
[]

来源:http://c.biancheng.net/view/2209.html

标签:Python,list,列表,删除
0
投稿

猜你喜欢

  • 手工打造极酷的分离式滑动门导航菜单

    2009-05-25 20:11:00
  • python列表推导式入门学习解析

    2022-04-25 14:28:00
  • 微软SQLServer密码管理的危险判断

    2008-11-24 17:34:00
  • Python编程调用百度API实现地理位置经纬度坐标转换示例

    2023-12-30 11:44:38
  • 按钮上的内容

    2007-11-27 00:13:00
  • 二级域名的解析指向ASP源码

    2007-10-19 19:13:00
  • Python实现控制手机电脑拍照并自动发送邮箱

    2022-10-08 01:52:33
  • 利用Yahoo Pipes和jQuery做一个RSS挂件

    2010-06-08 13:40:00
  • CSS改变字体而不影响网页

    2010-10-20 20:11:00
  • asp如何设定程序的执行次数?

    2010-05-18 18:31:00
  • JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)

    2013-08-09 10:14:56
  • OpenCV图像处理GUI功能详解

    2021-01-26 15:55:34
  • 如何配置一个稳定的SQL Server数据库

    2008-12-09 14:07:00
  • Python二叉树的镜像转换实现方法示例

    2023-09-28 18:36:35
  • 在MySQL数据库中如何来复位根用户的密码

    2008-12-03 16:57:00
  • python 定时器,轮询定时器的实例

    2023-07-08 04:26:57
  • python数据操作之lambda表达式详情

    2022-08-19 21:21:32
  • JS获取对象代码总结

    2011-03-07 16:14:00
  • 9个Web设计中常见的可用性错误[译]

    2009-03-11 20:25:00
  • python实现自动重启本程序的方法

    2022-07-18 14:16:19
  • asp之家 网络编程 m.aspxhome.com