当前位置 : 主页 > 网络编程 > 其它编程 >

我需要创建一个过滤列表而没有for循环的函数

来源:互联网 收集:自由互联 发布时间:2023-07-02
如何解决《我需要创建一个过滤列表而没有for循环的函数》经验,为你挑选了1个好方法。 所以我的函数需要过滤一个列表,以便它返回一个列表,只列出一个值,当一个函数应用于它时,它
如何解决《我需要创建一个过滤列表而没有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:"但列表理解有循环!"
上一篇:java–使它漂亮:同时处理数组
下一篇:没有了
网友评论