如何從列表刪除或者去除元素呢?有 3 種方法:remove
、del
和 pop
。
用 remove
刪除元素
remove
會從列表中刪除你選擇的元素,把它丟掉:
>>> letters = ['a', 'b', 'c', 'd', 'e']>>> letters.remove('c')>>> print letters['a', 'b', 'd', 'e']
你不需要知道這個元素在列表中的具體位置,只需要知道它確實在列表中(可以是任何位置)。如果你想刪除的東西根本不在列表中,就會得到錯誤消息:
>>> letters.remove('f')Traceback (most recent call last): File "<pyshell#32>", line 1, in <module> letters. remove('f')ValueError: list.remove(x): x not in list
那麼怎麼才能知道列表中是否包含某個元素呢?後面就要講到。先來看另外兩種從列表中刪除元素的方法。
用 del
刪除
del
允許利用索引從列表中刪除元素,如下所示:
>>> letters = ['a', 'b', 'c', 'd', 'e']>>> del letters[3]>>> print letters['a', 'b', 'c', 'e']
在這裡,我們刪除了第 4 個元素(索引 3),也就是字母 d。
用 pop
刪除元素
pop
從列表中取出最後一個元素交給你。這說明,你可以為它指派一個名字,比如:
>>> letters = ['a', 'b', 'c', 'd', 'e']>>> lastLetter = letters.pop>>> print letters['a', 'b', 'c', 'd']>>> print lastLettere
使用 pop
時還可以提供一個索引,如:
>>> letters = ['a', 'b', 'c', 'd', 'e']>>> second = letters.pop(1)>>> print secondb>>> print letters['a', 'c', 'd', 'e']
在這裡我們彈出了第 2 個字母(索引 1),也就是 b。彈出的元素賦給 second
,而且會從 letters
刪除。
括號裡沒有提供參數時,pop
會返回最後一個元素,並把它從列表中刪除。如果在括號裡放入一個數,pop(n)
會給出這個索引位置上的元素,而且會把它從列表中刪除。