gpt4 book ai didi

scala - 组合任意长度的多个列表

转载 作者:行者123 更新时间:2023-12-03 21:19:02 26 4
gpt4 key购买 nike

我正在寻找一种以下列方式加入多个列表的方法:

ListA a b c
ListB 1 2 3 4
ListC + # * § %
..
..
..

Resulting List: a 1 + b 2 # c 3 * 4 § %

In Words:按顺序排列的元素,从第一个列表开始合并到结果列表中。任意数量的输入列表的长度可能会有所不同。

我使用了多种带有 zip 变体、滑动迭代器的方法,但都没有奏效,尤其是处理不同的列表长度。 Scala 中必须有一种优雅的方式;)

最佳答案

val lists = List(ListA, ListB, ListC)

lists.flatMap(_.zipWithIndex).sortBy(_._2).map(_._1)

这是不言自明的。它只是将每个值与其在各自列表中的位置一起压缩,按索引排序,然后将值拉回来。

关于scala - 组合任意长度的多个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097078/

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