我正在尝试找到一种方法来“加入”/“groupby”列表中的2个元素,如下所示:
List("a","b","c","d") -> List("ab","bc","cd")
具有实用的风格。
有人会知道怎么做吗?
需要我使用reducer,fold,scan,其他高阶函数吗?
Sliding使用滑动窗口创建子集合,然后您只需将此子列表映射到字符串:
List("a","b","c","d").sliding(2,1).map{case List(a,b) => a+b}
尝试
val xs = List("a","b","c","d")
(xs, xs.tail).zipped.map(_ ++ _) // List(ab, bc, cd)
您可以使用sliding
创建一个窗口:
val l = List("a","b","c","d")
val res = l.sliding(2).map(_.reduce(_ + _))
res.foreach(println)
这个结果
ab
bc
cd