如何在 Scala 列表中找到元素的索引。
val ls = List("Mary", "had", "a", "little", "lamb")
如果我要求“小”的索引,我需要得到 3
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3
下次您可以尝试阅读List 的 scaladoc。;)
如果要按谓词搜索,请使用.indexWhere(f)
:
val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.startsWith("l"))
这将返回 3,因为“little”是第一个以字母 l 开头的单词。
如果您想要包含“a”的所有索引的列表,则:
val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)