![](/img/trans.png)
[英]Create list of lists that will join previous values in list with the next one
[英]Join elem with next one in a functional style
我正在尝试找到一种方法来“加入”/“groupby”列表中的 2 个元素,如下所示:
List("a","b","c","d") -> List("ab","bc","cd")
具有实用的风格。
有人知道该怎么做吗?
我需要使用 reducer、fold、scan 和其他高阶函数吗?
滑动使用滑动窗口创建子集合,然后你只需要将这个子列表映射到字符串:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.