2016-11-29 58 views
2

好吧,所以iv'e大約一個小時的搜索完成後找不到任何實際的方法來獲取元組索引列表IE val e = List((5,10),(10,13),(30,37)) 沒有使用可變列表我想創建一個新的基於舊的列表...但是在這個新的列表,而不是元組我想要所有的2個值之間的整數。 I.E上述列表=>List(6,7,8,9,11,12,31,32,33,34,35,36)List [(Int,Int)]列表[Int] - 尋求建議

任何幫助將不勝感激。

TL:DR元組列表[Int,Int]到新值列表中,其中兩個元素到未被元素化成整數。

+0

http://www.scala-lang.org/api/current/ scala/collection/immutable/List.html – Pavel

回答

8
scala> val e = List((5,10),(10,13),(30,37)) 
e: List[(Int, Int)] = List((5,10), (10,13), (30,37)) 

scala> e.flatMap(t => t._1+1 until t._2) 
res1: List[Int] = List(6, 7, 8, 9, 11, 12, 31, 32, 33, 34, 35, 36) 
+0

非常感謝這麼多人。工作。 – Gizmox

+0

最後一件事,如果我想要返回所有數字+數字本身,該怎麼辦?IE(5,10)將是5,6,7,8,9,10而不僅僅是6,7,8,9 – Gizmox

+0

'e。 flatMap(t => t._1到t._2)' –

4

可以使用until每對輸入序列中創建一個Range,並使用flatMap把它們結合起來:

e.flatMap { case (le, ue) => (le + 1).until(ue) } 
相關問題