Haskell - 使用列表理解编写zip函数

时间:2014-12-06 16:43:51

标签: haskell

我的问题是我想编写一个使用列表推导来压缩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]

我应该如何修改它?

1 个答案:

答案 0 :(得分:9)

您需要parallel list comprehensions (seсtion 7.3.12)。实际上,这正是手册中给出的例子:

[ (x, y) | x <- xs | y <- ys ]