如何将列表中的每两个元素打包到 Scala 中的元组?

How to pack each two elements in a list to tuple in scala?

输入:

val input = List(1, 3, 6, 7, 12)

输出将是:

val output = List((1, 3), (3, 6), (6, 7), (7, 12))

input.zip(input.tail)呢?

你可以使用 s sliding:

output.sliding(2, 1).map(l => (l(0), l(1))).toList

或:

output.sliding(2, 1).map { case List(a, b) => (a, b) }.toList

你可以这样做:

input.sliding(2).toList.map(l => (l.head, l.tail.head))