首页 > 解决方案 > 根据映射到列表的函数的结果过滤列表。哈斯克尔

问题描述

我有一个对象列表,我希望通过每个元素的结果过滤这个列表到某个函数。我考虑过使用过滤器和地图功能的组合,但我不确定。假设我有一个列表 [a,b,c,d],我想在函数 f 应用于 a,b,c,d 时过滤此列表,它们返回值 n。如果 f(a) = n 且 f(d) = n,则结果列表看起来像 [a,d]。谢谢。

标签: haskell

解决方案


这只是常规filter的。您可以指定应用f和比较n作为过滤条件:

list = [a,b,c,d]
filteredList = filter (\x -> f x == n) list

推荐阅读