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

scala – 在Seq的每两个相邻元素之间插入一个元素

发布时间:2020-12-16 08:58:34 所属栏目:安全 来源:网络整理
导读:例如,我有Seq(1,2,3),我想获得Seq(1,3) 首先想到的是: scala Seq(1,3).flatMap(e = 0 :: e :: Nil).tail res17: Seq[Int] = List(1,3) 有更好/更优雅的选择吗? 解决方法 尝试理解: for(i - list; p - List(0,i)) yield p 但是你必须以某种方式删除第一个
例如,我有Seq(1,2,3),我想获得Seq(1,3)

首先想到的是:

scala> Seq(1,3).flatMap(e => 0 :: e :: Nil).tail
  res17: Seq[Int] = List(1,3)

有更好/更优雅的选择吗?

解决方法

尝试理解:

for(i <- list; p <- List(0,i)) yield p

但是你必须以某种方式删除第一个元素(它产生:0,1,或者通过:

(for(i <- list; p <- List(0,i)) yield p).tail

要么:

list.head :: (for(i <- list.tail; p <- List(0,i)) yield p)

(编辑:李大同)

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

    推荐文章
      热点阅读