假设我得到一个列表,需要从中删除给定的元素:
lst = ['cat', 'dog', 'pig', 'bird', 'bear']
def func(lst, what_to_remove):
pass
我希望该函数是一行,我正在尝试这样做:
lst = ['cat', 'dog', 'pig', 'bird', 'bear']
def func(lst, what_to_remove):
return lst.remove(what_to_remove)
print(func(lst, 'bird'))
当然,没有任何作用(因为remove()它没有返回任何内容):
是否可以从列表中删除一个元素并在一行中返回该列表?
如果想将其包装
remove在函数中,指定一个列表和要删除的参数作为参数,请先在函数中执行,然后remove返回列表结论:
UPD
如果您想要函数中的一行,那么最好重新创建没有此元素的工作表
UPD2
你可以这样做
UPD3
这也是可能的
解释:
最后两种方法的工作原理是我们首先使用
remove,然后才尝试返回我们的lstUPD4
以此类推,你可以这样做:
如果您确实需要在一行中使用它,这里还有另一种选择。使用转换为集合然后返回列表:
通过这一行,我们从列表中选择集合的原始
lst元素以及包含一个元素的集合what_to_remove(即从列表中选择lst没有元素的集合what_to_remove),然后将结果集转换回列表。UPD:您可以检查列表中是否存在元素:
结论: