【问题标题】:How to pack each two elements in a list to tuple in scala?如何将列表中的每两个元素打包到scala中的元组?
【发布时间】:2020-07-04 11:54:36
【问题描述】:

输入:

val input = List(1, 3, 6, 7, 12)

输出将是:

val output = List((1, 3), (3, 6), (6, 7), (7, 12))

【问题讨论】:

  • @jwvh 非常感谢您的提示,我尝试了“input.sliding(2).toList”,虽然没有得到元组列表,但它解决了我的问题。

标签: list scala functional-programming tuples scala-collections


【解决方案1】:

input.zip(input.tail) 呢?

【讨论】:

    【解决方案2】:

    你可以使用sliding:

    output.sliding(2, 1).map(l => (l(0), l(1))).toList
    

    或:

    output.sliding(2, 1).map { case List(a, b) => (a, b) }.toList
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

      input.sliding(2).toList.map(l => (l.head, l.tail.head))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-19
        • 1970-01-01
        • 2021-01-21
        • 2017-09-27
        • 2021-10-04
        相关资源
        最近更新 更多