Ich habe eine Tuple2
von List[List[String]]
und ich würde gerne in der Lage sein, das Tupel in eine Liste zu konvertieren, so dass ich dann List.transpose()
verwenden kann. Gibt es eine Möglichkeit, dies zu tun? Außerdem weiß ich, dass es ein Pair
ist, obwohl ich immer ein Fan von generischen Lösungen bin.Gibt es in Scala irgendwelche Methoden, um Tupel in Listen zu konvertieren?
33
A
Antwort
63
Funktioniert mit jedem Tupel (scala 2.8):
myTuple.productIterator.toList
Scala 2.7:
(0 to (myTuple.productArity-1)).map(myTuple.productElement(_)).toList
Nicht sicher, wie Typinformationen für eine allgemeine Produkt oder Tuple zu halten, sondern für Tuple2 :
def tuple2ToList[T](t: (T,T)): List[T] = List(t._1, t._2)
Sie könnten natürlich de feine ähnliche typsichere Konvertierungen für alle Tupel (bis 22).
4
Shapeless Verwendung -
@ import syntax.std.tuple._
import syntax.std.tuple._
@ (1,2,3).toList
res21: List[Int] = List(1, 2, 3)
@ (1,2,3,4,3,3,3,3,3,3,3).toList
res22: List[Int] = List(1, 2, 3, 4, 3, 3, 3, 3, 3, 3, 3)
Beachten Sie, dass Typ-Informationen verwendet nicht verloren Shapeless des toList
.
Verwandte Themen
- 1. Scala - Zwei Listen zu Tupel Liste
- 2. Konvertieren eines Scala Iterable [Tupel] zu RDD
- 3. Gibt es irgendwelche guten Methoden, Python-Datentyp zu erforschen?
- 4. Gibt es irgendwelche Werkzeuge, um Markdown in Wiki-Text in anderen Formaten zu konvertieren
- 5. Gibt es Tupel in PHP?
- 6. Liste in Tupel zu numpy Array konvertieren?
- 7. Scala Transform Liste von Tupeln zu einem Tupel von Listen
- 8. Gibt es ein Programm, um Assembly in C++ zu konvertieren?
- 9. Python Tupel und Listen. Ein Tupel, die
- 10. Verwenden Scala-Makros, um Methoden zu generieren
- 11. Scala: Tupel in Funktionsargumente Decomposing
- 12. Tupel zu Funktionsparametern konvertieren
- 13. Gibt es eine Scala-Bibliothek, die Tupel als Monade behandelt?
- 14. Gibt es irgendwelche unbenutzten Symbole in Python?
- 15. sortieren Tupel in Listen in Python
- 16. Wie konvertiere ich ein verschachteltes Tupel von Tupeln und Listen in Listen von Listen in Python?
- 17. Verwenden von Shapeless, um Tupel von Future in Future von Tupel über HList zu konvertieren
- 18. Gibt es ein Scala-Äquivalent des Python-Listen-Entpackers (a.k.a.. "*")?
- 19. Gibt es Tipps, um das Arbeiten mit Tupel in C# zu erleichtern?
- 20. eine Liste von Listen zu einem Tupel in Python
- 21. Gibt es irgendwelche StackExchange.Redis-Beispielprojekte?
- 22. gibt es sowieso um von Double zu BigInteger zu konvertieren?
- 23. Listen Comprehensions und Tupel in Julia
- 24. Gibt es eine effiziente Methode, um numpy.darray in eine Liste zu konvertieren?
- 25. Scala Methoden in Endung _ =
- 26. Gibt es irgendwelche Clojure DSLs?
- 27. Gibt es in Scala eine Game Engine?
- 28. Verketten mehrerer Listen in Scala
- 29. scala Tupel Typ Zusammensetzung
- 30. Wie Tupel in Zeichenfolge in Tupel-Objekt konvertieren?
Sieht gut aus, obwohl Sie 'myTuple.productArity - 1' und' productElement() 'benötigen, gibt' Any' zurück. Gibt es eine Möglichkeit, die Informationen zum inneren Typ beizubehalten? – pr1001
Die Indexierung wurde schrittweise korrigiert, und der Kommentar wurde in der Antwort beibehalten. –
Danke, sieht gut aus. – pr1001