我有
val l List[List[Int]] = List(List(0,0,0),List(1,1,1))
我想把它拉上拉链。有没有简洁的方法来代替通过索引访问主列表的每个元素并将其与zip
命令一起压缩?
答案 0 :(得分:3)
这是有效的,假设外部列表有两个内部列表。
List(List(0,0,0), List(1, 1, 1)) match {
case l1 :: l2 :: Nil => l1 zip l2
case x => ??? // up to you
}
为了考虑失败的可能性,您可以将结果包装成Option
。
val x = List(List(0,0,0), List(1, 1, 1))
val res: Option[List[Int]] = x match {
case l1 :: l2 :: Nil => Some(l1 zip l2)
case x => None
}