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

 更新时间:2021年11月01日 11:34:48   投稿:zx  
本文主要介绍了Python list列表删除元素的4种方法,主要包括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)

运行结果:
[]

到此这篇关于Python list列表删除元素的4种方法的文章就介绍到这了,更多相关Python list列表删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python生成随机mac地址的方法

    python生成随机mac地址的方法

    这篇文章主要介绍了python生成随机mac地址的方法,涉及Python操作随机字符串的技巧,需要的朋友可以参考下
    2015-03-03
  • 使用Python批量下载ts格式视频

    使用Python批量下载ts格式视频

    这篇文章主要介绍了使用Python批量下载ts格式视频的相关资料,需要的朋友可以参考下
    2023-05-05
  • 关于keras中的Reshape用法

    关于keras中的Reshape用法

    这篇文章主要介绍了关于keras中的Reshape用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • python计算牛顿迭代多项式实例分析

    python计算牛顿迭代多项式实例分析

    这篇文章主要介绍了python计算牛顿迭代多项式的方法,涉及Python数学运算的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python 3.8新特征之asyncio REPL

    Python 3.8新特征之asyncio REPL

    我最近都在写一些Python 3.8的新功能介绍的文章,在自己的项目中也在提前体验新的Python版本。这篇文章主要介绍了Python 3.8新特征之asyncio REPL,需要的朋友可以参考下
    2019-05-05
  • Python pandas读取CSV文件的注意事项(适合新手)

    Python pandas读取CSV文件的注意事项(适合新手)

    这篇文章主要给大家介绍了关于Python pandas读取CSV文件的注意事项,非常适合新手,csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看,需要的朋友可以参考下
    2021-06-06
  • 如何通过Python的pyttsx3库将文字转为音频

    如何通过Python的pyttsx3库将文字转为音频

    pyttsx3是一个开源的Python文本转语音库,可以将文本转换为自然的人类语音,这篇文章主要介绍了如何通过Python的pyttsx3库将文字转为音频,需要的朋友可以参考下
    2023-04-04
  • python得到单词模式的示例

    python得到单词模式的示例

    今天小编就为大家分享一篇python得到单词模式的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python实现跨excel sheet复制代码实例

    python实现跨excel sheet复制代码实例

    这篇文章主要介绍了python实现跨excel sheet复制代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python的多种对象工厂模式方便代码维护扩展

    Python的多种对象工厂模式方便代码维护扩展

    这篇文章主要为大家介绍了Python的多种对象工厂模式更方便我们进行代码维护扩展,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01

最新评论