python中关于删除list中的某个元素,一般有三种方法:remove、pop、del
- remove:删除单个元素,其只能删除首个符合条件的元素,按值来进行删除
In [41]: list1 = [1 , 2 , 3 , 4 , 5 , 6 , 2 , 4 , 3]
In [42]: list1.remove(2)
In [43]: list1
Out[43]: [1, 3, 4, 5, 6, 2, 4, 3]
- pop:删除单个或多个元素,根据索引删除,若pop不加参数,则默认删除最后一个值
In [47]: list1 = [1, 3, 4, 5, 6, 2, 4, 3]
In [48]: list1.pop(1)
Out[48]: 3
In [49]: list1
Out[49]: [1, 4, 5, 6, 2, 4, 3]
In [50]: list1.pop()
Out[50]: 3
In [51]: list1
Out[51]: [1, 4, 5, 6, 2, 4]
- del:根据索引删除,和pop类似,但是它不返回删除值,它的用法也和pop有些不一样,具体参考下面的例子
In [52]: list1 = [1, 4, 5, 6, 2, 4, 3]
In [53]: del list1[1]
In [54]: list1
Out[54]: [1, 5, 6, 2, 4, 3]
此外,del还可以删除整个列表,也可以删除字典等数据对象
In [55]: list1 = [1, 4, 5, 6, 2, 4, 3]
In [56]: del list1
In [57]: list1
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-57-8304c57391a2> in <module>()
----> 1 list1
NameError: name 'list1' is not defined
直接导致list1从内存中删除,报错信息的意思是list1未定义,也就是说直接删除了这个列表
它还可以删除指定列表范围内的值
In [60]: list1 = [1, 4, 5, 6, 2, 4, 3]
In [61]: del list1[1 : 5]
In [62]: list1
Out[62]: [1, 4, 3]
这里直接将4, 5, 6, 2四个位于list1[1 : 5]的值删除了
网友评论