我的问题是我想编写一个使用列表推导来压缩2个列表的函数。到目前为止我写了这个:
import Data.List
zip' xs ys = [(x,y)| x <- xs, y <- ys, elemIndex x xs == elemIndex y ys]
但它不适合
zip' [1,2,2,3,2] [1,2,3,4]
我应该如何修改它?
答案 0 :(得分:9)
您需要parallel list comprehensions (seсtion 7.3.12)。实际上,这正是手册中给出的例子:
[ (x, y) | x <- xs | y <- ys ]