: Ich bin in scala/funken so könnten Sie bitte mir darüber helfen:Karte in Array-Liste
Ich habe dies:
val list= Array(("a",(1,2,3)),("b",(1,2))
Ich möchte Ausgang haben:
(a,1),(a,2),(a,3),(b,1),(b,2)
Was kann ich tun, um dies zu haben?
: Ich bin in scala/funken so könnten Sie bitte mir darüber helfen:Karte in Array-Liste
Ich habe dies:
val list= Array(("a",(1,2,3)),("b",(1,2))
Ich möchte Ausgang haben:
(a,1),(a,2),(a,3),(b,1),(b,2)
Was kann ich tun, um dies zu haben?
Sie würden nur das tun müssen:
list.flatMap(t => t._2.productIterator.map(n => t._1->n))
Persönlich würde ich nicht dynamisch Tupel verwendet werden:/Ich würde Listen von ints oder etwas verwenden.
Sie könnten die productIterator
verwenden, um über die Tupel zu iterieren. Die folgenden Ergebnisse sind in List[(String, Any)] = List((a,1), (a,2), (a,3), (b,1), (b,2))
. Nicht sicher, ob es eine nette Möglichkeit gibt, zu folgern, dass die Typen der Elemente in allen Ihren Tupeln Integer
statt Any
sind.
val list: Array[(String, Product)]= Array(("a",(1,2,3)),("b",(1,2)))
(for {
i <- list.iterator
n <- i._2.productIterator
} yield {
(i._1, n)
}).toList
Was hat das mit Spark zu tun? Dies ist eine grundlegende Scala. – eliasah