python中關(guān)于刪除list中的某個(gè)元素,一般有三種方法:remove、pop、del
- remove:刪除單個(gè)元素,其只能刪除首個(gè)符合條件的元素,按值來進(jìn)行刪除
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:刪除單個(gè)或多個(gè)元素,根據(jù)索引刪除,若pop不加參數(shù),則默認(rèn)刪除最后一個(gè)值
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:根據(jù)索引刪除,和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還可以刪除整個(gè)列表,也可以刪除字典等數(shù)據(jù)對象
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
直接導(dǎo)致list1從內(nèi)存中刪除,報(bào)錯(cuò)信息的意思是list1未定義,也就是說直接刪除了這個(gè)列表
它還可以刪除指定列表范圍內(nèi)的值
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四個(gè)位于list1[1 : 5]的值刪除了