gpt4 book ai didi

scala - 通过字符串将 List[String] 拆分为单独的列表

转载 作者:行者123 更新时间:2023-12-04 07:58:59 25 4
gpt4 key购买 nike

我很好奇如何根据另一个字符串将字符串列表拆分为单独的列表。

val animals: Map[Int, List[String]] = Map(5 -> List("cat", "dog", "mouse", "bear", "lion"),
(11 -> List("dog", "mouse", "tiger", "lion", "bear", "bird"),
(9 -> List("mouse", "dog", "mouse", "tiger", "bear"),
(15 -> List("cat", "tiger", "mouse")
)
我想使用 "mouse"获得与此类似的输出:
res0: Map[Int, List[String]] = Map(5 -> List(List("cat", "dog"), List("bear", "lion"))),
(11 -> List(List("dog"), List("tiger", "lion", "bear", "bird"))),
(9 -> List(List("dog"), List("tiger", "bear"))),
(15 -> List(List("cat", "tiger")))
)
这就是我的确切情况,更具体地说,我只想知道一种简单的方法可以拆分一般 List[String]通过字符串。

最佳答案

看看这是否符合您的要求。

animals.map{case (k,lst) =>
k -> lst.foldRight(List(List.empty[String])){
case ("mouse", acc) => Nil::acc
case (anml, hd::tl) => (anml::hd)::tl
}.filter(_.nonEmpty)
}

关于scala - 通过字符串将 List[String] 拆分为单独的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66558569/

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