从Haskell中的列表中的元组中提取单个值

时间:2014-10-18 14:16:13

标签: list haskell tuples

所以我有一个元组列表

lis = [(5,6), (5,3), (5,2)]

如何提取元组的第一个值,即5。

我知道你的头脑是为了得到头部,但这会回来(5,6),我只想要5。

更大的图片是能够获得元组列表的头部并将其与另一个元组列表中的每个值进行比较,以查看它是否匹配。

2 个答案:

答案 0 :(得分:2)

这很简单,只需使用fst函数从元组中提取第一个值:

λ> let lis = [(5,6), (5,3), (5,2)]
λ> fst $ head lis
5

答案 1 :(得分:1)

如果您想在另一个表达式中使用lambda:

 (\(x, _) -> x) (head lis)

或者如果您想要一个功能:

 first :: (a, b) -> a
 first (x, _) = x

有一个函数执行相同的操作fst,通过。