簡體   English   中英

如何在Scala中將列表列表轉換為列表?

[英]How to convert a List of List to a List in Scala?

我有一個列表列表,如下所示:

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中找到任何可幫助我將列表列表轉換為列表的函數。

只需使用flatMap而不是map:

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

如果有一個涉及for-comprehensionflatMap那就總是一個優雅的方法:

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

這對我有用:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM