![](/img/trans.png)
[英]Remove elements at positions n and n-1 in a Haskell list, when n fits a predicate
[英]How to return the first n-1 elements of a list of length n in Haskell?
我知道关于tail函数,该函数返回列表的最后n-1个元素(其中n是列表的长度),因此我定义了自己的“ cotail”函数以返回前n-1个元素:
cotail = (reverse . tail . reverse)
这是最佳方法,还是有内置函数或更巧妙的方法来实现?
我相信您正在寻找init 。
建议您使用init
。 但是您需要确定对空列表的处理方式。
cotail xs = [x | x:_:_ <- tails xs]
此版本的cotail
在空列表中不会失败,就像drop 1
在空列表中不会失败(而tail
会失败)
正是您需要的init函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.