我試圖寫的函數應該從指定的任何類型的列表中刪除給定索引處的元素。如何從Haskell的列表中刪除元素?
以下是我已經做了:
delAtIdx :: [x] -> Int -> [x]
delAtIdx x y = let g = take y x
in let h = reverse x
in let b = take (((length x) - y) - 1) h
in let j = g ++ (reverse b)
in j
這是正確的嗎?任何人都可以推薦另一種方法
考慮'drop',而不是'reverse' - 'take' - 'reverse' – newacct 2012-04-21 08:21:00
請注意,如果您發現自己刪除索引處的元素(遠離列表的前面)很多,您可能需要重新考慮您選擇的數據結構或算法。 – gspr 2015-12-05 09:58:15