Scala列表中的元组列表

时间:2014-11-21 18:30:06

标签: scala

大家好我有元组对列表,List[(String,String)]并希望将其展平为字符串列表List[String]

任何帮助表示感谢。

5 个答案:

答案 0 :(得分:10)

有些选项可能是: 级联:

list.map(t => t._1 + t._2)

一个接一个交错(在你的评论之后,你似乎要求这个):

list.flatMap(t => List(t._1, t._2))

拆分并追加它们:

list.map(_._1) ++ list.map(_._2)

答案 1 :(得分:8)

嗯,您可以随时使用flatMap,如下所示:

list flatMap (x => List(x._1, x._2))

虽然你的问题有点模糊。

答案 2 :(得分:4)

尝试:

val tt = List(("John","Paul"),("George","Ringo"))
tt.flatMap{ case (a,b) => List(a,b) }

这导致:

  

列表(John,Paul,George,Ringo)

答案 3 :(得分:2)

一般来说,对于任何arity的元组列表,请考虑这个,

myTuplesList.map(_.productIterator.map(_.toString)).flatten

请注意,productIterator会将元组中的所有类型转换为Any,因此我们会将值重新转换为String

答案 4 :(得分:0)

见 -

https://stackoverflow.com/a/43716004/4610065

在这种情况下 -

import syntax.std.tuple._
List(("John","Paul"),("George","Ringo")).flatMap(_.toList)