Scala: Comment convertir des éléments de tuple en listes

Supposons que j'ai une liste de tuples:

val tuples = listOfStrings.map(string => {
            val split = string.split(":")
            (split(0), split(1), split(2))
        })

Je voudrais obtenir le split(0) dans une liste, split(1) dans une autre liste, et ainsi de suite.
Un moyen simple de ce qui pourrait être atteint par l'écriture:

list1 = tuples.map(x => x._1).toList
list2 = tuples.map(x => x._2).toList
list3 = tuples.map(x => x._3).toList

Est-il plus élégant (fonctionnelle) de manière à atteindre le plus haut, sans écrit 3 états distincts?

source d'informationauteur