Skip to content

Latest commit

 

History

History
34 lines (24 loc) · 642 Bytes

159.md

File metadata and controls

34 lines (24 loc) · 642 Bytes
@author jackzhenguo
@desc
@tag
@version 
@date 2020/02/26

列表删除之坑

删除一个列表中的元素,此元素可能在列表中重复多次:

def del_item(lst,e):
    return [lst.remove(i) for i in e if i==e] # NO!

考虑删除这个序列[1,3,3,3,5]中的元素3,结果发现只删除其中两个:

del_item([1,3,3,3,5],3) # 结果:[1,3,5]

正确做法:

def del_item(lst,e):
    d = dict(zip(range(len(lst)),lst)) # YES! 构造字典
    return [v for k,v in d.items() if v!=e]
[上一个例子](158.md) [下一个例子](160.md)