繁体   English   中英

Scala:如何根据列表中相邻元素的操作创建新列表

[英]Scala: How to create a new list from operation on adjacent elements of a list

如果我有一个像列表(1,2,3,4)的列表,我想创建一个相当于的新列表,

清单(1 + 2,3 + 4)=清单(3,7)

我需要一些操作来在列表中添加相邻的数字并从中创建新的列表。 我查看了map,reduceLeft,foldLeft操作但找不到可以实现此目的的东西。

您要查找的方法已grouped ,将列表分区为给定大小的子列表。 例如:

scala> List(1, 2, 3, 4).grouped(2).map(_.sum).toList
res0: List[Int] = List(3, 7)

请注意, grouped返回迭代器,因此如果需要toList则需要调用类似toList的内容。 另请注意,如果列表中没有偶数个元素(或者通常不能被grouped的参数整除),则迭代器返回的最终列表可能包含的元素少于其余元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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