Враховуючи такий список Scala:
val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3"))
Як я можу отримати:
List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3"))
Оскільки zip можна використовувати лише для поєднання двох Списків, я думаю, вам потрібно буде якось повторити / зменшити основний список. Не дивно, що наступне не працює:
scala> l reduceLeft ((a, b) => a zip b)
<console>:6: error: type mismatch;
found : List[(String, String)]
required: List[String]
l reduceLeft ((a, b) => a zip b)
Будь-які пропозиції, як це зробити? Я думаю, що мені не вистачає дуже простого способу зробити це.
Оновлення: Я шукаю рішення, яке може взяти Список N Списків з М елементами в кожному та створити Список М TupleN.
Оновлення 2: Як виявляється, для мого конкретного випадку краще мати список списків, а не список кортежів, тому я приймаю відповідь гарбуза. Він також найпростіший, оскільки використовує власний метод.