首页 » 父与子的编程之旅:与小卡特一起学Python » 父与子的编程之旅:与小卡特一起学Python全文在线阅读

《父与子的编程之旅:与小卡特一起学Python》12.10 从列表删除元素

关灯直达底部

如何从列表删除或者去除元素呢?有 3 种方法:removedelpop

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) 会给出这个索引位置上的元素,而且会把它从列表中删除。