我是 learning Haskell和我在列表理解方面遇到了这个例子: [x | xs <- [[(3,4)],[(5,4),(3,2)]], (3,x) <- xs] 给出的答案是: [4,2] .
[x | xs <- [[(3,4)],[(5,4),(3,2)]], (3,x) <- xs]
[4,2]
为什么没有答案 [(3,4),(3,2)] ?
[(3,4),(3,2)]
匹配 (3,x) 反对 (3,4) 给予 x = 4 。如果你愿意 (3,4) ,你应该写 [(3,x) | ...] .
(3,x)
(3,4)
x = 4
[(3,x) | ...]