在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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |