我有两个具有相同数量和类型的元素的Scala列表,如下所示:
val x = List("a", "b", "c")
val y = List("1", "2", "3")
Run Code Online (Sandbox Code Playgroud)
我想要的结果如下:
List("a1", "b2", "c3")
Run Code Online (Sandbox Code Playgroud)
如何在Scala中完成?我可以使用可变结构来解决这个问题,但我认为这对于Scala来说是不同寻常的.
结合zip
并map
:
x zip y map { case (a, b) => a + b }
Run Code Online (Sandbox Code Playgroud)
奇怪的是,这也有效:
x zip y map (_.productIterator.mkString)
Run Code Online (Sandbox Code Playgroud)
但我非常喜欢第一个版本.