从Map中检索多个值

时间:2014-07-13 11:31:17

标签: haskell

假设我有一个键列表和一个Map。迭代列表以检索Map中与这些键对应的值并创建另一个列表的最简单方法是什么?

retrieveMultipleValues myMap myKeys = 
  map (\x -> lookup x myMap) myKeys -- ???

在这种情况下:

myMap :: Map String String
myKeys :: [String]

我的直觉告诉必须有一种单一的方法来做到这一点。

1 个答案:

答案 0 :(得分:6)

您可以使用lookupmapMaybe

import Data.Maybe

retrieveMultipleValues m = mapMaybe (\k -> Map.lookup k m)