gpt4 book ai didi

scala - 如何在 Scala 中使用循环法将嵌套列表展平?

转载 作者:行者123 更新时间:2023-12-01 13:50:15 25 4
gpt4 key购买 nike

你会如何在 Scala 中展平这个列表:List(List(1, 2, 3), Nil, List(4, 5, 6), List(7, 8))以便它进行循环,而不仅仅是附加所有元素,如 flatMap会做?期望的结果是:List(1, 4, 7, 2, 5, 8, 3, 6)
this question 不同我的 list 是单一类型的 List[List[Int]]但看起来我也可以使用递归函数调用。

最佳答案

  • 在将每个元素与其在嵌套列表中的索引匹配的同时展平列表
  • 按它们在嵌套列表中的索引排序
  • 将元组映射为整数
    list.flatMap(xs => xs.zipWithIndex).sortBy(_._2).map(_._1)

    //output
    List(1, 4, 7, 2, 5, 8, 3, 6)
  • 关于scala - 如何在 Scala 中使用循环法将嵌套列表展平?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32375962/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com