gpt4 book ai didi

Scala 集合选择元素,直到第一个满足要求

转载 作者:行者123 更新时间:2023-12-02 06:15:37 26 4
gpt4 key购买 nike

例如我有以下 Scala 列表,我想得到一个子列表,直到满足要求为止。

val list = Seq(1,2,3,4,5,5,4,1,2,5)

要求是数字是5,所以我想要的结果是:

Seq(1,2,3,4)

目前我使用 Scala 集合的 indexWheresplitAt 返回:

list.splitAt(list.indexWhere(x => x == 5))

(Seq(1,2,3,4), Seq(5,5,4,1,2,5))

我不确定是否有更多更好的方法可以使用我没有意识到的更好的 Scala 集合方法来实现相同的目标?

最佳答案

您可以使用takeWhile:

scala> val list = Seq(1,2,3,4,5,5,4,1,2,5)
list: Seq[Int] = List(1, 2, 3, 4, 5, 5, 4, 1, 2, 5)

scala> list.takeWhile(_ != 5)
res30: Seq[Int] = List(1, 2, 3, 4)

关于Scala 集合选择元素,直到第一个满足要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35218881/

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