我想在过滤中 lambda 表达式的 else 部分中继续。是否可以?如果是的话怎么办?谢谢你:)
filter_testing = list(filter((lambda element: element if 'w' in element else continue), lst_check))
传递给过滤器的函数应该返回一个布尔值,而不是元素:
filter_testing = list(filter((lambda element: 'w' in element), lst_check))
如果不满足条件,您可以提供 False:
list(filter(lambda element: element if "w" in element else False,
["with", "or", "without", "you"]))
结果(Python 3.9.13):
['with', 'without']
文档中这句话的提示:
如果function是
,则假设恒等函数,即所有 iterable 中为 false 的元素将被删除。 Python 文档:内置函数None