-
2021-10-14 18:24:41
python中关于删除list中的某个元素,一般有三种方法:remove、pop、del:
1.remove: 删除单个元素,删除首个符合条件的元素,按值删除
举例说明:
>>> str=[1,2,3,4,5,2,6] >>> str.remove(2) >>> str [1, 3, 4, 5, 2, 6]
2.pop: 删除单个或多个元素,按位删除(根据索引删除)
>>> str=[0,1,2,3,4,5,6] >>> str.pop(1) #pop删除时会返回被删除的元素 >>> str [0, 2, 3, 4, 5, 6]
>>> str2=['abc','bcd','dce'] >>> str2.pop(2) 'dce' >>> str2 ['abc', 'bcd']
3.del:它是根据索引(元素所在位置)来删除
举例说明:
>>> str=[1,2,3,4,5,2,6] >>> del str[1] >>> str [1, 3, 4, 5, 2, 6] >>> str2=['abc','bcd','dce'] >>> del str2[1] >>> str2 ['abc', 'dce']
除此之外,del还可以删除指定范围内的值。
>>> str=[0,1,2,3,4,5,6] >>> del str[2:4] #删除从第2个元素开始,到第4个为止的元素(但是不包括尾部元素) >>> str [0, 1, 4, 5, 6]
del 也可以删除整个数据对象(列表、集合等)
>>> str=[0,1,2,3,4,5,6] >>> del str >>> str #删除后,找不到对象
Traceback (most recent call last):
File "<pyshell#27>", line 1, in <module>
str
NameError: name 'str' is not defined注意:del是删除引用(变量)而不是删除对象(数据),对象由自动垃圾回收机制(GC)删除。
更多相关内容 -
python 列表删除所有指定元素的方法
2020-12-24 20:40:00如下所示: a = [1,1,1,2,3,45,1,2,1] ... 您可能感兴趣的文章:python删除列表元素的三种方法(remove,pop,del)python 删除列表里所有空格项的方法总结python清空命令行方式Python实现去除列表中重复 -
Python list列表中删除多个重复元素操作示例
2020-09-19 14:09:33主要介绍了Python list列表中删除多个重复元素操作,结合实例形式分析了Python删除list列表重复元素的相关操作技巧与注意事项,需要的朋友可以参考下 -
Python实现删除列表中满足一定条件的元素示例
2020-09-21 07:13:09主要介绍了Python实现删除列表中满足一定条件的元素,结合具体实例形式对比分析了Python针对列表元素的遍历、复制、删除等相关操作技巧,需要的朋友可以参考下 -
Python list列表删除元素(4种方法)
2022-03-20 22:44:24在 Python 列表中删除元素主要分为以下 3 种场景: 根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法; 根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法; 将列表中...Python list列表删除元素(4种方法)
在 Python 列表中删除元素主要分为以下 3 种场景:
根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;
根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;
将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。
del:根据索引值删除元素
del 是 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("i like python") url.clear() print(url)
运行结果:
[]
-
Python简单删除列表中相同元素的方法示例
2020-12-25 02:50:42本文实例讲述了Python简单删除列表中相同元素的方法。分享给大家供大家参考,具体如下: 去除列表中重复的元素,非常简单,直接上代码: a = [11, 21, 3, 4, 3, 2, 5] b = list(set(a)) print(a) print(b) 运行... -
python中list列表删除元素的4种方法
2022-04-29 09:53:06在python列表中删除元素主要分为以下3种场景: 根据目标元素所在的索引位置进行删除,可以使用del关键字或pop()方法; 根据元素本身的值进行删除,可使用列表(list类型)提供的remove()方法; 将列表中所有元素...在python列表中删除元素主要分为以下3种场景:
- 根据目标元素所在的索引位置进行删除,可以使用del关键字或pop()方法;
- 根据元素本身的值进行删除,可使用列表(list类型)提供的remove()方法;
- 将列表中所有元素全部删除,可使用列表(list类型)提供的clear()方法;
del:根据索引值删除元素
del是python中的关键字,专门用来执行删除操作,它不仅可以删除整个列表,还可以删除列表中的某些元素
del可以删除列表中的单个元素,格式为:
- del listname[index]
listname:表示列表名
index:表示索引值
list = ["python",1,2,"java"] print(list) #使用正数索引 del list[2] print(list) #使用负数索引 del list[-1] print(list)
['python', 1, 2, 'java']
['python', 1, 'java']
['python', 1]del可以删除中间一段连续的元素,格式为:
- del listname[start,end]
start:起始索引
end:结束索引
list = ["python",1,2,"java"] print(list) #使用正数索引 del list[2:3] print(list) list = ["python",1,2,"java"] print(list) #使用负数索引 del list[-3:-1] print(list)
['python', 1, 2, 'java']
['python', 1, 'java']
['python', 1, 2, 'java']
['python', 'java']del会删除从开始索引到结束索引之间的元素,不包括end位置的元素
pop():根据索引值删除元素
该方法用来删除列表中指定索引处的元素
语法:listname.pop(index)
listname:表示列表名
index:表示索引值
list = ["python",1,2,"java",78,9,80,90] print(list) list.pop(3) print(list)
['python', 1, 2, 'java', 78, 9, 80, 90]
['python', 1, 2, 78, 9, 80, 90]如果不写index参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作
list = ["python",1,2,"java",78,9,80,90] print(list) list.pop() print(list)
['python', 1, 2, 'java', 78, 9, 80, 90]
['python', 1, 2, 'java', 78, 9, 80]remove():根据元素值进行删除
该方法会根据元素本身的值来进行删除操作
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) #第一次删除2 list.remove(2) print(list) #第一次删除2 list.remove(2) print(list) #第一次删除2 list.remove(2) print(list)
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2]
['python', 1, 'java', 78, 9, 80, 90, 2, 34, 2]
['python', 1, 'java', 78, 9, 80, 90, 34, 2]
['python', 1, 'java', 78, 9, 80, 90, 34]注意:remove()方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发ValueError错误,所以我们在使用remove()删除元素时最好提前判断一下
clear():删除所有元素
clear()用来删除列表的所有元素,也即清空列表
语法:listname.clear()
listname:表示列表名
list = ["python",1,2,"java",78,9,80,90,2,34,2] print(list) list.clear() print(list)
['python', 1, 2, 'java', 78, 9, 80, 90, 2, 34, 2]
[] -
Python 中删除列表元素的三种方法
2022-04-22 14:31:21列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的。 那到底有哪些方法可以删除列表中的元素呢?这篇文章就来总结一下。 一共有三种方法,分别是remove,pop和del,下面来详细说明。 ...列表基本上是 Python 中最常用的数据结构之一了,并且删除操作也是经常使用的。
那到底有哪些方法可以删除列表中的元素呢?这篇文章就来总结一下。
一共有三种方法,分别是
remove
,pop
和del
,下面来详细说明。remove
L.remove(value) -> None -- remove first occurrence of value. Raises ValueError if the value is not present.
remove
是从列表中删除指定的元素,参数是 value。举个例子:
>>> lst = [1, 2, 3] >>> lst.remove(2) >>> lst [1, 3]
需要注意,
remove
方法没有返回值,而且如果删除的元素不在列表中的话,会发生报错。>>> lst = [1, 2, 3] >>> lst.remove(4) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: list.remove(x): x not in list
pop
L.pop([index]) -> item -- remove and return item at index (default last). Raises IndexError if list is empty or index is out of range.
pop
是删除指定索引位置的元素,参数是 index。如果不指定索引,默认删除列表最后一个元素。>>> lst = [1, 2, 3] >>> lst.pop(1) 2 >>> lst [1, 3] >>> >>> >>> >>> lst = [1, 2, 3] >>> >>> lst.pop() 3
pop
方法是有返回值的,如果删除索引超出列表范围也会报错。>>> lst = [1, 2, 3] >>> lst.pop(5) Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop index out of range >>>
del
del
一般用在字典比较多,不过也可以用在列表上。>>> lst = [1, 2, 3] >>> del(lst[1]) >>> lst [1, 3]
直接传元素值是不行的,会报错:
>>> lst = [1, 2, 3] >>> del(2) File "<stdin>", line 1 SyntaxError: cannot delete literal
del
还可以删除整个列表:>>> lst = [1, 2, 3] >>> del(lst) >>> >>> lst Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'lst' is not defined
以上就是本文的全部内容,如果觉得还不错的话,感谢支持。
-
Python列表删除元素del、pop()和remove()的区别小结
2020-09-18 16:14:46主要给大家介绍了关于Python列表删除元素del、pop()和remove()的区别,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 -
Python 列表中的修改、添加和删除元素的实现
2020-09-16 17:24:36主要介绍了Python 列表中的修改、添加和删除元素的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
详谈python3中用for循环删除列表中元素的坑
2020-09-20 14:45:36下面小编就为大家分享一篇详谈python3中用for循环删除列表中元素的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
python实现删除列表中某个元素的3种方法
2020-09-18 02:35:57主要介绍了python实现删除列表中某个元素的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 -
Python如何优雅删除字符列表空字符及None元素
2020-09-16 14:54:46主要介绍了Python如何优雅删除字符列表空字符及None元素,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 -
Python实现列表删除重复元素的三种常用方法分析
2021-01-20 04:19:23给定一个列表,要求删除列表中重复元素。 listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1,对列表调用排序,从末尾依次比较相邻两个元素,遇重复元素则删除,否则指针左移一位重复上述... -
Python列表元素的循环删除问题
2022-03-25 09:03:42语句对列表等结构进行遍历时, 如果进行删除, 则被删除元素的下一个元素会自动补充到in指向的元素中, 这就导致41被删除之后42直接补充到了41的位置, 然后in继续进行下一轮的遍历, 42就未被遍历了, 通过索引+while的... -
在Python列表中删除重复元素的几种方法,用起来真好用
2021-10-30 15:09:19一: 直接遍历列表删除 l1 = [1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 5, 5, 2, 2] for el in l1: if l1.count(el) > 1: l1.remove(el) print(l1)# 会漏删,因为删除一个元素后,后面的元素向前补位,导致紧跟的一个元素被... -
python:删除列表中重复元素
2021-07-27 22:53:29# 删除列表中重复元素 list1 = [1, 1, 8, 8, 6, 3, 3, 9, 9, 10, 11, 1, 8, 6, 3, 9] print('转化为集合后: ', list(set(list1))) 结果如下: 我们发现原来列表中元素的相对位置改变了。 方法二: 如果不... -
python遍历列表删除元素与修改元素
2021-01-31 19:31:06删除元素的时候呢,这样写: for i in a[:]: a.remove(i) 如果是修改元素,在遍历时如果想用迭代器对元素进行修改,是不会持久化的,这时候需要使用下标来处理。 像这样: for i in range(len(a)): a[i] += str(i)... -
python如何删除列表中的元素
2021-01-11 19:15:03下面举例说明几种python删除列表中元素的方法方法一用remove("")方法删除指定元素,没有该元素时报错>>> number=[1,3,2,0]>>> number.remove(1)#删除指定元素1,这里是int类型因此不需要引号>&... -
Python列表中所有元素必须为相同类型的数据。
2021-01-14 04:08:25【判断题】定义Python函数时,如果函数中没有return语句,则默认返回空值None。 (3.5分)【判断题】函数中必须包含return语句。 (3.5分)【单选题】对于序列 s,哪个选项能够返回序列s中第i到j以k为步长的元素子序列? ...