我一直在尝试解决此 question 提供的示例在 StackOverflow 上。我误解了它。我想从列表中删除每 5 个元素并将它们一起放入另一个列表中。
这是迄今为止我最好的尝试。
fifth(_:_:_:_xs) = xs fifth xs
fifth [] = []
最佳答案
最好将您的关注点分开:创建一个函数,对列表进行“切片”并获取每五个元素,然后对该列表求和。
fifth :: [a] -> [a]
fifth (x:_:_:_:_:xs) = x : fifth xs
fifth (x:_) = [x]
fifth [] = []
然后对元素列表求和:
sumFifth :: Num a => [a] -> a
sumFifth = sum . <b>fifth</b>
关于haskell - 添加列表中每第 5 个(或第 n 个)元素的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66268431/