2 votes

List[(Int,Int)] Into List[Int] - Recherche de conseils

Ok, j'ai fait environ une heure de recherche et je n'ai trouvé aucune façon réaliste de prendre une liste de tuple d'ints. val e = List((5,10),(10,13),(30,37)) Et sans utiliser une liste mutable, je veux créer une nouvelle liste basée sur l'ancienne one.... mais dans cette nouvelle liste, au lieu de tuples, je veux tous les entiers entre les 2 valeurs. I.E la liste ci-dessus dans => List(6,7,8,9,11,12,31,32,33,34,35,36)

Toute aide serait grandement appréciée.

TL:DR Liste de Tuples[Int,Int] dans une nouvelle Liste de valeurs entre les deux dans des ints untupled.

8voto

Tzach Zohar Points 6701
scala> val e = List((5,10),(10,13),(30,37))
e: List[(Int, Int)] = List((5,10), (10,13), (30,37))

scala> e.flatMap(t => t._1+1 until t._2)
res1: List[Int] = List(6, 7, 8, 9, 11, 12, 31, 32, 33, 34, 35, 36)

4voto

Lee Points 63849

Vous pouvez créer un Range en utilisant until pour chaque paire de la séquence d'entrée et utiliser flatMap pour les combiner :

e.flatMap { case (le, ue) => (le + 1).until(ue) }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X