我對 Scala 和函式式編程非常陌生。我被 Scala 中的集合操作困住了。我有一個這樣的變數:
val res4: List[(List[Double], Option[Int])] =
List(
(List(4.0, 2.0, 3.0, 4.0, 3.0, 2.5, 4.0),Some(1998)),
(List(3.0, 4.0, 3.0, 3.0, 3.5, 2.0, 3.0, 3.0, 4.0).Some(2000),
.......
)
我想通過使用串列中的每個分數來獲得地圖或類似的東西:
(4.0, Some(1998)),
(2.0, Some(1998)),
(3.0, Some(1998)),
(4.0, Some(1998)),
(3.0, Some(1998)),
(2.5, Some(1998)),
(4.0, Some(1998)),
(3.0, Some(2000)),
....
我怎樣才能做到這一點?
此外,如果您知道如何將 Some(1998) 轉換為 1998 的提示,我將不勝感激。
uj5u.com熱心網友回復:
您可以使用flatMap:
List(
(List(4.0, 2.0, 3.0, 4.0, 3.0, 2.5, 4.0), Some(1998)),
(List(3.0, 4.0, 3.0, 3.0, 3.5, 2.0, 3.0, 3.0, 4.0), Some(2000))
)
.flatMap(row => row._1.map(number => (number, row._2)))
.foreach(it => println(it))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459740.html
上一篇:即使在增量優化之后,ADLSGen2位置中也可以使用小檔案
下一篇:動態Akka流接收器
