比较两个列表中同一索引的元素

时间:2014-06-15 19:23:30

标签: haskell

我的问题如下:

我有一个返回特定列表的函数,假设我们有:

Func = [1,14,12,19,17]

现在我有另一个清单,让我们说: List = [14,11,12,13,19]

如果Func的第二个元素等于List的第二个元素,我想知道Func的第一个元素是否等于List的第一个元素1}},等等。

如果是这种情况,我想“返回”该元素。在此示例中,我想要创建的函数的正确输出应为12,因为仅在索引2处,两个列表中的元素相等。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

find l1 l2 = map fst . filter (\(x,y) -> x == y) $ zip l1 l2

或者更简洁:

find l1 l2 = map fst . filter (uncurry (==)) $ zip l1 l2