Python 删除列表中的元素

2014-05-07
标签: PYTHON
本文发布至今已有9年零350天,可能不再适用,请谨慎对待。

要想删除列表中相同值的所有元素,本文介绍一种方法。

首先,list 自带的 remove() 方法只能删除第一次出现的位置(first occurrence)

>>> x = [1, 2, 1, 2, 1, 2]
>>> x.remove(2)
>>> x
[1, 1, 2, 1, 2]
>>> 

如果要全部删除list里面的某个元素,可以用列表解析方法(List comprehension):

>>> x = [1, 2, 1, 2, 1, 2]
>>> y = [i for i in x if i != 2] #删除全部2
>>> y
[1, 1, 1]
>>>

同样方法可以用来一次性删除多种元素:

>>> x = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> y = [i for i in x if i != 2 and i != 3] #删除全部2和3
>>> y
[1, 1, 1, 1]
>>> 

删除一个范围:

>>> x = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> y = [i for i in x if i < 2] #只保留小于2的
>>> y
[1, 1, 1, 1]
>>> 

甚至删除一个集合里的元素:

>>> x = [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> d = [2, 3]
>>> y = [i for i in x if i not in d] #不保留d中的元素 
>>> y
[1, 1, 1, 1]
>>>

如果您对本站内容有疑问或者寻求合作,欢迎 联系邮箱邮箱已到剪贴板

标签: PYTHON

欢迎转载本文,惟请保留 原文出处 ,且不得用于商业用途。
本站 是个人网站,若无特别说明,所刊文章均为原创,并采用 署名协议 CC-BY-NC 授权。