Posts

Showing posts with the label zip

Can I zip more than two lists together in Scala?

Can I zip more than two lists together in Scala? Given the following Scala List: val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3")) How can I get: List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")) Since zip can only be used to combine two Lists, I think you would need to iterate/reduce the main List somehow. Not surprisingly, the following doesn't work: 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) Any suggestions one how to do this? I think I'm missing a very simple way to do it. Update: I'm looking for a solution that can take a List of N Lists with M elements each and create a List of M TupleNs. Update 2: ...