是否有预定义的haskell函数将列表中的元素提取到新列表中?

时间:2011-05-28 21:21:20

标签: list haskell

  

可能重复:
  Return a list of Integer values that is not within a range of numbers in an existing list:

我希望采取以下措施:

[Vacant, Engaged, Vacant, Vacant, Engaged, Vacant, Vacant, Vacant, Vacant] 

并从上面的列表中返回仅Vacant值的列表。

(即[Vacant, Vacant, Vacant, Vacant, Vacant, Vacant, Vacant])。

是否有任何预定义的haskell函数来执行此操作?

(n.b。VacantEngaged是数据类型)

1 个答案:

答案 0 :(得分:3)

它被称为filter

filter (== Vacant)

或者,使用列表理解:

[x | x <- lst, x == Vacant]

(在这种情况下稍微长一点,但在其他情况下更方便。)