如何解决《我需要创建一个过滤列表而没有for循环的函数》经验,为你挑选了1个好方法。 所以我的函数需要过滤一个列表,以便它返回一个列表,只列出一个值,当一个函数应用于它时,它
所以我的函数需要过滤一个列表,以便它返回一个列表,只列出一个值,当一个函数应用于它时,它返回一个正值,而不使用任何循环.我的代码目前是:
def positive_places(f, xs): """takes a function f and list xs and returns a list of the values of xs which satisfy f>0""" y = list(map(f, xs)) x = filter(lambda i: i > 0, y) return x这当前返回函数的所有正输出值的列表,但是我需要来自原始列表xs的相应值.
在此先感谢您的帮助!
1> khelwood..:使用列表理解:
return [x for x in xs if f(x) > 0]不使用列表理解:
return filter(lambda x: f(x) > 0, xs)既然你说它应该返回一个列表:
return list(filter(lambda x: f(x) > 0, xs))OP:"但列表理解有循环!"