【问题标题】:How to convert a List of List to a List in Scala?如何将列表列表转换为 Scala 中的列表?
【发布时间】:2019-02-24 12:29:51
【问题描述】:

我有一个列表如下:

val xl = (0 until 5).map(i => {Seq(s"$i", s"Mr._$i")}).toList

我想将其转换为字符串列表或 Seq:

List("0", "Mr._0","1", "Mr._1","2", "Mr._2","3", "Mr._3","4", "Mr._4")

我是 Scala 新手,在 Scala 中找不到任何可以帮助我将列表转换为列表的函数。

【问题讨论】:

标签: scala


【解决方案1】:

如果有flatMap 参与,for-comprehension 总是一种优雅的方式:

for{ 
   i <- 0 until 5
   r <- Seq(s"$i", s"Mr._$i")
} yield r

【讨论】:

    【解决方案2】:

    只需使用 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
    

    【讨论】:

      【解决方案3】:

      这对我有用:

      val xl = (0 until 5).map(i => List(s"$i", s"Mr._$i")).toList
      println(xl.flatten)
      

      输出:列表(0, Mr._0, 1, Mr._1, 2, Mr._2, 3, Mr._3, 4, Mr._4)

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-09
      • 2017-10-11
      • 2015-06-23
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多