Diberikan Daftar Scala berikut:
val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3"))
Bagaimana saya bisa mendapatkan:
List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3"))
Karena zip hanya dapat digunakan untuk menggabungkan dua List, saya rasa Anda perlu mengulang / mengurangi List utama. Tidak mengherankan, hal berikut ini tidak berhasil:
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)
Ada saran bagaimana melakukan ini? Saya pikir saya kehilangan cara yang sangat sederhana untuk melakukannya.
Pembaruan: Saya mencari solusi yang dapat mengambil Daftar N Daftar dengan elemen M masing-masing dan membuat Daftar M TupleNs.
Pembaruan 2: Ternyata lebih baik untuk kasus penggunaan khusus saya memiliki daftar daftar, daripada daftar tupel, jadi saya menerima tanggapan labu. Ini juga yang paling sederhana, karena menggunakan metode asli.