合并两个长度相同的Scala列表,同一索引中的元素成为一个元素
我有两个Scala列表,具有相同数量和类型的元素,如下所示:合并两个长度相同的Scala列表,同一索引中的元素成为一个元素,scala,list,merge,Scala,List,Merge,我有两个Scala列表,具有相同数量和类型的元素,如下所示: val x = List("a", "b", "c") val y = List("1", "2", "3") 我想要的结果如下: List("a1", "b2", "c3") 在Scala中如何做到这一点?我可以使用可变结构来解决这个问题,但我认为这对于Scala来说是不合适的。组合zip和map: x zip y map { case (a, b) => a + b } 奇怪的是,这同样有效: x zip y map
val x = List("a", "b", "c")
val y = List("1", "2", "3")
我想要的结果如下:
List("a1", "b2", "c3")
在Scala中如何做到这一点?我可以使用可变结构来解决这个问题,但我认为这对于Scala来说是不合适的。组合
zip
和map
:
x zip y map { case (a, b) => a + b }
奇怪的是,这同样有效:
x zip y map (_.productIterator.mkString)
但是我更喜欢第一个版本。将
zip
和map
结合起来:
x zip y map { case (a, b) => a + b }
奇怪的是,这同样有效:
x zip y map (_.productIterator.mkString)
但是我更喜欢第一个版本。太好了,谢谢。我已经找出了拉链的部分,但没有想到要把它映射到一个模式匹配。您已添加到我的工具箱中。:)太好了,谢谢。我已经找出了拉链的部分,但没有想到要把它映射到一个模式匹配。您已添加到我的工具箱中。:)