如何在haskell中访问列表中的元组内容?

如何在haskell中访问列表中的元组内容?,haskell,tuples,list-comprehension,Haskell,Tuples,List Comprehension,我试图通过一个非常简单的例子来了解Haskell是如何工作的,我有以下疑问: 我有以下代码: associated :: (Eq a) => a -> [(a,b)] -> [b] associated a tuple = [b | b <- tuple, a==fst(tuple) ] 关联::(等式a)=>a->[(a,b)]->[b] 关联元组=[b | b您可以筛选列表并获取fst值: associated :: (Eq a) => a -> [

我试图通过一个非常简单的例子来了解Haskell是如何工作的,我有以下疑问:

我有以下代码:

associated :: (Eq a) => a -> [(a,b)] -> [b]
associated a tuple = [b  | b  <- tuple, a==fst(tuple) ]
关联::(等式a)=>a->[(a,b)]->[b]

关联元组=[b | b您可以筛选列表并获取
fst
值:

associated :: (Eq a) => a -> [(a,b)] -> [b]
associated a tuplst = map snd $ filter (\(x,_) -> a == x) tuplst
或使用类似的行为理解:

associated a tuplst = [b | (a', b) <- tupls, a == a']

associated a tuplst=[b |(a',b)您可以筛选列表并获取
fst
值:

associated :: (Eq a) => a -> [(a,b)] -> [b]
associated a tuplst = map snd $ filter (\(x,_) -> a == x) tuplst
或使用类似的行为理解:

associated a tuplst = [b | (a', b) <- tupls, a == a']

associated a tuplst=[b |(a',b)谢谢!!我对sintax很不满意。我很确定这是一个家庭作业问题-原始函数签名可能是
Eq a=>a->[(a,b)]->[b]
嗯,还有一个问题。如果我想使用列表理解,那该怎么做?@Luis你不能使用列表理解而不是元组。是的,但我不想得到确切的答案,只是举个例子看看它是如何工作的,因为我真的不明白,我在网上看到的所有东西对我都没有帮助!!我和sinta相处得很艰难x、 我相当确定这是一个家庭作业问题-原始函数签名可能是
eqa=>a->[(a,b)]->[b]
嗯,还有一个问题。如果我想使用列表理解,那会是怎样的?@Luis你不能使用列表理解而不是元组。是的,但我不想要确切的答案,只是举例看看它是如何工作的,因为我真的不理解,我在网上看到的一切对我都没有帮助