使用整数列表检索Haskell中的元组列表

时间:2019-02-01 22:32:54

标签: haskell

这是我的问题的布局:

ids :: [Integer]  -- A list of Integers.                                                

db :: [(Integer, Name)]  -- A list of integer ids with the corresponding names

如何从db中检索每个元组,其中元组的id至少与我的ids列表中的一个整数匹配?

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用filter函数:

query = filter (\t -> fst t `elem` ids) db

或更“优雅”的无点版本

query = filter ((`elem` ids) . fst) db

如果您喜欢列表解析,请使用

[t | t <- db, fst t `elem` ids]