在 Scala 中,是否可以使用 fold left 对列表中的某个索引进行求和?
In Scala, is it possible to use fold left to do summation up to certain index in the list?
我正在尝试找到一种有效的方法来对列表进行求和,直到 selected 索引。
var groupList : List[Int] = List(1,3,4,5)
如果我 select indexOf(2),我能做些什么来实现,它会对该索引进行求和? ( 1 + 3 + 4) ?
怎么样:
val idx = 2
groupList.take(idx+1).sum
// res3: Int = 8
或者为了效率:
groupList.toIterator.take(idx+1)
// res4: Iterator[Int] = non-empty iterator
groupList.toIterator.take(idx+1).sum
// res5: Int = 8
我正在尝试找到一种有效的方法来对列表进行求和,直到 selected 索引。
var groupList : List[Int] = List(1,3,4,5)
如果我 select indexOf(2),我能做些什么来实现,它会对该索引进行求和? ( 1 + 3 + 4) ?
怎么样:
val idx = 2
groupList.take(idx+1).sum
// res3: Int = 8
或者为了效率:
groupList.toIterator.take(idx+1)
// res4: Iterator[Int] = non-empty iterator
groupList.toIterator.take(idx+1).sum
// res5: Int = 8