我有两个清单。一个列表包含一些随机数据,另一个列表包含需要删除的第一个列表的索引。
例如,让我们考虑两个列表:
let a = [3,4,5,6,6,7,8]
let b = [1,3]
那么,结果输出应该是[3,5,6,7,8]
。数字 4 和 6 被删除,因为它们分别位于索引位置 1 和 3。
我是 Haskell 的新手,所以很难找到解决方案。
更新:以下代码使其工作
import Data.List
dele :: Eq a => [a] -> [Int] -> [a]
dele [] _ = []
dele x [] = x
dele x (y:ys) = dele (delete (x !! y) x) ys
我只是想知道,有没有办法通过 map/fold 方式解决它?