1
votes

Comment emballer chacun des deux éléments dans une liste à tuple dans scala?

Input:

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

La sortie serait:

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


1 commentaires

@jwvh Merci beaucoup pour l'indice, j'ai essayé "input.sliding (2) .toList", qui résout en quelque sorte mon problème, bien qu'il n'obtienne pas de liste de tuples.


3 Réponses :


7
votes

Qu'en est-il de input.zip (input.tail) ?


0 commentaires

1
votes

Vous pouvez utiliser s sliding:

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

ou:

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


0 commentaires

0
votes

Vous pouvez le faire comme ceci:

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


0 commentaires