scala - 遍历 Scala 中集合的奇数成员

标签 scala scala-collections

基于索引位置,仅迭代 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/

相关文章:

scala - 在 IntelliJ IDE 中配置 Scala 脚本以通过 Spark-submit 运行 Spark 独立脚本

java - Scala 11 中的函数参数问题,可使用resilience4j 在 Scala 12 中工作

scala - Spark 样本太慢

java - 如何将嵌套的 Scala 集合转换为嵌套的 Java 集合

Scala groupBy+ map 问题

scala - Spark DataFrame 不尊重模式并将所有内容视为字符串

scala - Scala Breeze 中的矩阵乘法向量

在 match 语句中未正确推断 Scala 类型边界

scala - 为什么用模式匹配收集不能缩小特定类别?

Scala : why can't I filter my Int List properly with placeholder ? 例如 : myList. 过滤器(_:Int => _ % 5 == 0)