如何使用Python实现list列表的四种元素删除技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1159个文字,预计阅读时间需要5分钟。
在Python列表中删除元素,主要分为以下三种场景:
1.根据目标元素的索引进行删除,可以使用del关键字或pop()方法;
2.根据元素本身的值进行删除,可以使用列表(list)类型提供的remove()方法;
3.根据条件进行删除,可以使用列表推导式或循环遍历。
在 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
clear():删除列表所有元素
Python clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码:url = list("c.biancheng.net/python/") url.clear() print(url) 运行结果:
[]
本文共计1159个文字,预计阅读时间需要5分钟。
在Python列表中删除元素,主要分为以下三种场景:
1.根据目标元素的索引进行删除,可以使用del关键字或pop()方法;
2.根据元素本身的值进行删除,可以使用列表(list)类型提供的remove()方法;
3.根据条件进行删除,可以使用列表推导式或循环遍历。
在 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
clear():删除列表所有元素
Python clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码:url = list("c.biancheng.net/python/") url.clear() print(url) 运行结果:
[]

