的名單上有3所列出像斯卡拉,轉換多個名單,元組
val a = List("a", "b", "c")
val b = List(1, 2, 3)
val c = List(4, 5, 6)
我想將它們轉換如下
List(("a", 1, 4), ("b", 2, 5), ("c", 3, 6))
請讓我知道如何得到這樣的結果
的名單上有3所列出像斯卡拉,轉換多個名單,元組
val a = List("a", "b", "c")
val b = List(1, 2, 3)
val c = List(4, 5, 6)
我想將它們轉換如下
List(("a", 1, 4), ("b", 2, 5), ("c", 3, 6))
請讓我知道如何得到這樣的結果
應該很容易實現:
(a zip b) zip c map {
case ((x, y), z) => (x, y, z)
};
用途:
(a zip b) zip c map { case ((av,bv),cv) => (av,bv,cv) }
注:這笑rtens最短的結果列表a,b,c
。如果您希望將結果列表填入默認值,請使用zipAll
。
如果您有需要拉上在一起的兩個或三個列表,你可以使用拉鍊
val a = List("a", "b", "c")
val b = List(1, 2, 3)
val c = List(4, 5, 6)
(a,b,c).zipped.toList
這導致:List((a,1,4), (b,2,5), (c,3,6))
或'(a,b,c).zipped.toList' –
謝謝alex23和Myserious Dan。這是工作。現在看起來很容易解決。 – Srinivas