List Haskell:从列表中的第一对列表返回元组列表

List Haskell:从列表中的第一对列表返回元组列表,list,haskell,tuples,List,Haskell,Tuples,我正在学习Haskell,希望返回一个元组列表,其中包含每个列表中的第一对元素。我试过了,但我的代码不起作用。现在我在想也许地图或过滤器可以为我的预期目的工作 这就是我希望我的函数工作的方式 firstPairs [["I", "am", "very", "tired"], ["then", "sleep"]] == [("I",&qu

我正在学习Haskell,希望返回一个元组列表,其中包含每个列表中的第一对元素。我试过了,但我的代码不起作用。现在我在想也许地图或过滤器可以为我的预期目的工作

这就是我希望我的函数工作的方式

firstPairs [["I", "am", "very", "tired"], ["then", "sleep"]]
           == [("I","am"),("then", "sleep")]
这是我得到的最接近的结果,但它只返回每个列表的头部,而不是在元组中返回

firstPairs :: [[a]] -> [(a)]
firstPairs []         = []
firstPairs ([]:xss)   = error "sublist is empty"
firstPairs ((x:xs):xss) = x: firstPairs xss
考虑阅读和编辑你的文章,也反映出它的工作原理和你所期望的工作。考虑阅读和编辑你的帖子,也反映出它的工作原理和你所期望的。