繁体   English   中英

以功能风格将 elem 与下一个连接起来

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM