假设我有一个键列表和一个Map。迭代列表以检索Map中与这些键对应的值并创建另一个列表的最简单方法是什么?
retrieveMultipleValues myMap myKeys =
map (\x -> lookup x myMap) myKeys -- ???
在这种情况下:
myMap :: Map String String
myKeys :: [String]
我的直觉告诉必须有一种单一的方法来做到这一点。
答案 0 :(得分:6)
您可以使用lookup
和mapMaybe
:
import Data.Maybe
retrieveMultipleValues m = mapMaybe (\k -> Map.lookup k m)