大家好我有元组对列表,List[(String,String)]
并希望将其展平为字符串列表List[String]
任何帮助表示感谢。
答案 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)