加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 09:14:21 所属栏目:安全 来源:网络整理
导读:我正在寻找一种以下列方式加入多个列表的方法: ListA a b cListB 1 2 3 4ListC + # * § %......Resulting List: a 1 + b 2 # c 3 * 4 § % 在单词中:元素按顺序排列,从第一列开始合并到结果列表中.任意数量的输入列表的长度可能会有所不同. 我使用多种方
我正在寻找一种以下列方式加入多个列表的方法:

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

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

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

我使用多种方法与zip,滑动迭代器的变体,但没有工作,特别是照顾不同的列表长度.必须有一个优雅的方式在scala;)

解决方法

val lists = List(ListA,ListB,ListC)

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

这是很自明的.它只是在各个列表上对其各个值进行拉链,按索引进行排序,然后将其退出.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读