gpt4 book ai didi

scala - 固定列表元素以定位在 Scala 中的合并列表中

转载 作者:行者123 更新时间:2023-12-01 11:36:58 29 4
gpt4 key购买 nike

这似乎是一个简单的场景,但我对如何优雅地/功能性地解决它感到困惑。我有两个列表 val pinnedStrings: Seq[(String, Int)]val fillerString: Seq[Int]。我想合并它们,但每个固定的字符串都保证在输出列表中的配对位置。所以如果我有:

val pinnedStrings = Seq("apple" -> 1, "banana" -> 4, "cherry" -> 6)
val fillerStrings = Seq("alpha", "bravo", "charlie", "delta", "echo", "foxtrot")

那么输出应该是:

Seq("alpha", "apple", "bravo", "charlie", "banana", "delta", "cherry", "echo", "foxtrot")

假设如果没有足够的填充符到达固定字符串,我们将丢弃固定字符串。 (或者如果将所有剩余的固定字符串放在最后更简单,那也很好。)

最佳答案

或者:

scala> val pinnedStrings = Seq("apple" -> 1, "banana" -> 4, "cherry" -> 6) 
pinnedStrings: Seq[(String, Int)] = List((apple,1), (banana,4), (cherry,6))

scala> val fillerStrings = Seq("alpha", "bravo", "charlie", "delta", "echo", "foxtrot")
fillerStrings: Seq[String] = List(alpha, bravo, charlie, delta, echo, foxtrot)

scala> (fillerStrings /: pinnedStrings) { case (acc, (s, i)) => ((acc take i) :+ s) ++ (acc drop i) }
res0: Seq[String] = List(alpha, apple, bravo, charlie, banana, delta, cherry, echo, foxtrot)

关于scala - 固定列表元素以定位在 Scala 中的合并列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25882433/

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