可能重复:
In Scala, how do I fold a List and return the intermediate results?
我正在寻找以下列方式累积SortedTree元素的功能方法:
我想要一个列表,其中包含SortedTree中所有元素的所有前体(包括元素本身)的总和。
对于Exmaple:
SortedTree包含(0.4,0.3,0.2,0.1,0.05)
我想要列表:(0,4.7,0,0.9,1,1.05)
有什么建议吗?
答案 0 :(得分:9)
标准库中没有SortedTree
,但您只需要scanLeft
(假设您的类型扩展为TraversableLike
):
seq.scanLeft(0.0)(_ + _).tail
或者如果你想要一个清单:
seq.toList.scanLeft(0.0)(_ + _).tail