Scala列表理解一次包含两个元素 [英] Scala list comprehension taking two elements at a time

查看:178
本文介绍了Scala列表理解一次包含两个元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我可以放心,我有一个包含偶数个元素的列表,例如

Assuming that I can be assured I have a list with an even number of elements, such as

val items = List(1,2,3,4,5,6)

我知道我可以一次写一个只包含一个元素的列表理解:

I know that I can write a list comprehension taking one element at a time:

for (item <- items) println(item)

但是,有什么办法可以让我一次处理2个或更多元素?

However, is there any way I can use a comprehension to process 2 or more elements at a time?

for ((first, second) <- items) println (first + second)

推荐答案

在这里是

scala> val items = 1 to 6 toList
items: List[Int] = List(1, 2, 3, 4, 5, 6)

scala> for(List(first, second) <- items.grouped(2)) println(s"first: $first, second: $second")
first: 1, second: 2
first: 3, second: 4
first: 5, second: 6

这篇关于Scala列表理解一次包含两个元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆