整数元组到字符串元组

时间:2016-05-03 15:59:44

标签: list scala tuples

据说我有一个元组列表:

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))

两者都不是我要找的结果。

3 个答案:

答案 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))