要想删除列表中相同值的所有元素,本文介绍一种方法。
首先,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 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/python-remove-all-occurrence/ ,且不得用于商业用途。