假设我可以确定我有一个包含偶数个元素的列表,例如
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/