据说我有一个元组列表:
tuple1: List[(Int, Int)] = List((0,3), (3,6), (6,12), (12,14), (14,15))
如何将其更改为:
tuple1: List[(String, String)] = List((0,3), (3,6), (6,12), (12,14), (14,15))
我尝试了以下内容:
tuple1.unzip match { case(l1, l2) => (l1.toString, l2.toString)}
res9: (String, String) = (List(0, 3, 6, 12, 14),List(3, 6, 12, 14, 15))
tuple1 map(_.toString)
res5: List[String] = List((0,3), (3,6), (6,12), (12,14), (14,15))
两者都不是我要找的结果。
答案 0 :(得分:4)
你接近你的尝试。只需要将两者的各个部分结合起来。
tuple1.map { case(l1, l2) => (l1.toString, l2.toString) }
答案 1 :(得分:1)
对于这样一个简单的案例,我不会打扰,但shapeless会为您提供map
元组,请参阅documentation示例。
答案 2 :(得分:0)
如果您愿意,可以使用for-yield
的另一种方法。
for{
t <- tuple1
} yield (t._1.toString, t._2.toString)
res0: List[(String, String)] = List((0,3), (3,6), (6,12), (12,14), (14,15))