我有一个列表列表,如下所示:
val xl = (0 until 5).map(i => {Seq(s"$i", s"Mr._$i")}).toList
我想将其转换为以下列表或字符串序列:
List("0", "Mr._0","1", "Mr._1","2", "Mr._2","3", "Mr._3","4", "Mr._4")
我是Scala的新手,无法在Scala中找到任何可帮助我将列表列表转换为列表的功能。
答案 0 :(得分:4)
只需使用flatMap而不是地图:
val xl = (0 until 5).flatMap(i => Seq(s"$i", s"Mr._$i"))
或
val xl = (0 until 5).map(i => Seq(s"$i", s"Mr._$i")).flatten
答案 1 :(得分:2)
如果涉及到flatMap
,for-comprehension
总是很优雅的方式:
for{
i <- 0 until 5
r <- Seq(s"$i", s"Mr._$i")
} yield r
答案 2 :(得分:0)
这对我有用:
val xl = (0 until 5).map(i => List(s"$i", s"Mr._$i")).toList
println(xl.flatten)
输出:列表(0,_0、1、1,_1、2,_2、3,_3、4,_4先生)