a1l*_*ord -3 python lambda list filter
my_list = [3, 4, 7, 2, 9, 170]
f = filter(lambda x: x%2==0, my_list)
g = f(my_list)
Run Code Online (Sandbox Code Playgroud)
有一个问题,这个lambda启动"列表对象不可调用"错误.这是一个非常简单的lambda,所以我不太清楚我在这里做错了什么
你或许认为f是一个过滤器,它不是,f是一个过滤的结果上my_list.这是一个list在蟒-2.x的,和发电机(一个filter在对象)蟒-3.X.
但是,您可以构造一个过滤器,例如使用以下partial函数functools:
from functools import partial
f = partial(filter,lambda x : x % 2 == 0) # construct a "filter"
g = f(my_list) # filter my_listRun Code Online (Sandbox Code Playgroud)