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

在Scala中,如何获取一个列表的片段从第n个元素到列表的末尾,而不

发布时间:2020-12-16 09:48:03 所属栏目:安全 来源:网络整理
导读:我正在寻找一种优雅的方式来获取从元素n向前的列表的切片,而不必指定列表的长度。假设我们有一个多行字符串,我分成几行,然后想要得到从第3行开始的所有行的列表: string.split("n").slice(3,X) // But I don't know what X is... 我真正感兴趣的是,是
我正在寻找一种优雅的方式来获取从元素n向前的列表的切片,而不必指定列表的长度。假设我们有一个多行字符串,我分成几行,然后想要得到从第3行开始的所有行的列表:

string.split("n").slice(3,X)       // But I don't know what X is...

我真正感兴趣的是,是否有一种方法来获取分离调用返回的列表的引用,以便它的长度可以在slice调用时被替换为X,有点像一个花哨_ (在这种情况下,它将读为slice(3,。length))?在python中,不需要指定切片的最后一个元素。

当然,我可以解决这个在分裂后使用一个临时变量,或者创建一个帮助函数与一个好的语法,但我只是好奇。

解决方法

只需放下你不需要的前n个元素:

List(1,2,3,4).drop(2)
res0: List[Int] = List(3,4)

或在您的情况:

string.split("n").drop(2)

还有配对方法.take(n)做相反的事情,你可以认为它是.slice(0,n)。

如果您需要两个部分,请使用.splitAt:

val (left,right) = List(1,4).splitAt(2)
left: List[Int] = List(1,2)
right: List[Int] = List(3,4)

(编辑:李大同)

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

    推荐文章
      热点阅读