基于索引位置,仅迭代 Scala 中集合的奇数成员的有效方法是什么?
鉴于此列表:
val fruits: List[String] = List("apples", "oranges", "pears", "bananas")
我想跳过苹果和梨,加工橙子和香蕉。谢谢!
根据给出的回复进行更新:
哇,前三个答案中的每一个都有优点。我最初的意思是从 Scala 集合语法的角度来看“高效”这个词,我真的只是在寻找一种巧妙的方式来为后续迭代创建子列表。 @Senia 在引入sliding() 函数方面做得很好,非常适合这个特定用例,但我也喜欢@Brian 使用zipWithIndex() 的更通用的方法。
但是,当我考虑到最初提出的问题的实际措辞以及@sourcedelica 回复的计算效率时,我认为他为这个问题获奖。
最佳答案
scala> List("apples", "oranges", "pears", "bananas").drop(1).sliding(1, 2).flatten.toList
res0: List[java.lang.String] = List(oranges, bananas)
关于scala - 遍历 Scala 中集合的奇数成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12775290/