my_list = [3, 4, 7, 2, 9, 170]
f = filter(lambda x: x%2==0, my_list)
g = f(my_list)
这个lambda引发了一个问题,它引发了一个“列表对象不可调用”的错误。这是一个非常简单的λ,所以我不太清楚我在做什么错在这里lambda在python中说的列表对象不可调用
my_list = [3, 4, 7, 2, 9, 170]
f = filter(lambda x: x%2==0, my_list)
g = f(my_list)
这个lambda引发了一个问题,它引发了一个“列表对象不可调用”的错误。这是一个非常简单的λ,所以我不太清楚我在做什么错在这里lambda在python中说的列表对象不可调用
你也许认为f
是过滤,实在不行,f
是过滤对my_list
的结果。这是python-2.x中的list
和python-3.x中的发生器(filter
对象)。
但是,您可以构建一个过滤器,例如通过使用functools
的partial
功能,如:
from functools import partial
f = partial(filter,lambda x : x % 2 == 0) # construct a "filter"
g = f(my_list) # filter my_list
爱我一个好的部分 –
那么在这种情况下发生了什么?我一直被困在一个小时或两个小时的问题上,似乎无法弄清楚错误是否在我的最后。 #完成下面的功能。 F =拉姆达my_list:X%2 == 0,如果my_list '
我只能编辑函数lambda。出于某种原因,我不断得到一个错误,说my_list没有被定义 – a1letterword
但过滤的结果是(在Python的2.X)的列表。不是过滤器,你在列表**上做了过滤。 –
'f'是一个列表,你调用它就像它是一个函数'f(my_list)' – Szymon
我不认为你需要通过你的列表lambda'''f'''在第二遍 - '''f'''应该只包含你正在查找的过滤列表。 –