在列表中的第n个元素之前累积元素

时间:2018-07-16 14:11:18

标签: scala

我想创建一个从第n + 1个值到n.length的列表,其中n是传递给函数的值

statusRequestSource

如果传递了“ def test(n:String) ={ val list = List("1","12","30","40","50") list match{ case s::rest if s==n => Seq(rest).flatten case _ => Nil } } ,我将得到一个空列表。

预期输出= 12"

1 个答案:

答案 0 :(得分:2)

以另一种方式输入,您想要从列表中删除前n个值。为此,您使用drop

list.drop(n)

如果要基于条件删除值,请使用dropWhile

list.dropWhile(_ != "30")

要排除匹配的元素,请使用另一个drop

list.dropWhile(_ != "12").drop(1)

[如评论中所述,如果找不到元素,则使用tail可能会导致异常]