【问题标题】:Integer tuple to string tuple整数元组到字符串元组
【发布时间】:2016-05-03 15:59:43
【问题描述】:

假设我有一个元组列表:

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

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

【问题讨论】:

    标签: list scala tuples


    【解决方案1】:

    你的尝试很接近。只需将两者的部分结合起来即可。

    tuple1.map { case(l1, l2) => (l1.toString, l2.toString) }
    

    【讨论】:

      【解决方案2】:

      对于这样一个简单的情况,我不会打扰,但shapeless 会在元组上为您提供map,请参阅documentation 示例。

      【讨论】:

        【解决方案3】:

        如果您愿意,可以使用 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))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-23
          • 1970-01-01
          • 1970-01-01
          • 2019-03-09
          相关资源
          最近更新 更多