在地图函数中查找当前元素的索引

时间:2019-01-03 13:54:45

标签: haskell

我有一个包含可以重复的元素的列表,我想

映射一个函数,例如:map (\x -> f (5 + (elemIndex x l))) l 问题是如果列表中有重复的元素elemIndex,则会返回第一个元素的索引。我希望它成为xl的索引,其中x是当前元素。

我想我正在寻找一个函数来替换代码中的elemIndex

1 个答案:

答案 0 :(得分:6)

您可以在zip查验之前map将您的列表与索引列表一起使用。还有zipWith的简写zip,后跟map

zipWith (\i x -> f (5 + i)) [0 ..] l