Hig*_*ant 2 python function list
我正在尝试创建一个函数:
filter(delete,lst)
Run Code Online (Sandbox Code Playgroud)
有人输入时:
filter(1,[1,2,1])
Run Code Online (Sandbox Code Playgroud)
回报 [2]
我想出的是使用list.remove函数,但它只删除第一个删除实例.
def filter(delete, lst):
"""
Removes the value or string of delete from the list lst
"""
list(lst)
lst.remove(delete)
print lst
Run Code Online (Sandbox Code Playgroud)
我的结果:
filter(1,[1,2,1])
Run Code Online (Sandbox Code Playgroud)
回报 [2,1]
尝试使用列表推导:
def filt(delete, lst):
return [x for x in lst if x != delete]
Run Code Online (Sandbox Code Playgroud)
或者,使用内置过滤功能:
def filt(delete, lst):
return filter(lambda x: x != delete, lst)
Run Code Online (Sandbox Code Playgroud)
最好不要filter为你的函数使用名称,因为它与上面使用的内置函数名称相同