gpt4 book ai didi

scala - 在Scala中,如何在不知道长度的情况下获取从第n个元素到列表末尾的列表切片?

转载 作者:行者123 更新时间:2023-12-03 03:48:11 25 4
gpt4 key购买 nike

我正在寻找一种优雅的方法来获取从元素 n 开始的列表切片,而无需指定列表的长度。假设我们有一个多行字符串,我将其分成几行,然后想要获取从第 3 行开始的所有行的列表:

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

我真正感兴趣的是是否有一种方法可以获取 split 调用返回的列表的引用,以便其长度可以替换为 Xslice 调用时,有点像一个奇特的 _ (在这种情况下,它会读作 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,2,3,4).splitAt(2)
left: List[Int] = List(1, 2)
right: List[Int] = List(3, 4)

关于scala - 在Scala中,如何在不知道长度的情况下获取从第n个元素到列表末尾的列表切片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15259250/

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