list - Scala 列表理解一次接受两个元素

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

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

我知道我可以写一个列表推导式,一次只取一个元素:

for (item <- items) println(item)

但是,有什么方法可以使用理解一次处理 2 个或更多元素?

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

最佳答案

也可以考虑使用zip,像这样,

for ( (f,s) <- items zip items.drop(1) ) println (s"f: $f, s: $s")
f: 1, s: 2
f: 2, s: 3
f: 3, s: 4
f: 4, s: 5
f: 5, s: 6

或者对于每三个元素,

for ( (f,t) <- items zip items.drop(3) ) println (s"f: $f, t: $t")
f: 1, t: 4
f: 2, t: 5
f: 3, t: 6

https://stackoverflow.com/questions/25759778/

相关文章:

sql - SQL中的IN运算符和=运算符有什么区别?

php - 如何解密地穴 ("name")

javascript - 如何将键值对象数组转换为具有单个属性的对象数组?

scala - 如何将单个字符转换为 Scala 的 Char 对象?

php - 带有回调OOP的php中的array_map

php - 如何用正则表达式匹配 400 到 550 之间的数字?

javascript - 类型错误:无法读取未定义的属性 'v4'

css - 使用 tailwind css 设置侧边栏粘性或固定

sql-server - 尝试从 Select 创建表 - SqL Server 2008 抛出错误

php - 忽略更新功能 Laravel 5 的唯一验证