我需要将一个带有索引的列表相加以指定起点。
例如,sum(1, List(1,2,3))
应返回2 + 3
,因为第一个参数1指定起始值List(1) == 2
。同样,sum(2, List(1,2,3))
将返回3.
我有这个功能的代码,但我认为它过于复杂。是否有更简单的实施?
def sum (index:Int, bits:List[Int]) = {
((bits zipWithIndex).filter { case (v, i) => i >= index}).unzip._1.sum
}
答案 0 :(得分:7)
试试这个。
def sum(index: Int, bits: List[Int]) = bits.drop(index).sum