如何查找Scala列表中元素的索引。查找列表中元素的索引scala
val ls = List("Mary", "had", "a", "little", "lamb")
我需要得到3,如果我問的「小」
如何查找Scala列表中元素的索引。查找列表中元素的索引scala
val ls = List("Mary", "had", "a", "little", "lamb")
我需要得到3,如果我問的「小」
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3
你可以嘗試讀取scaladoc for List下一次的索引。 ;)
如果你想包含 「A」,那麼所有的索引列表:
val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)
有趣!我認爲這是_collect_是爲了什麼:'ls.zipWithIndex.collect {case(「a」,i)=> i}' – DaoWen
如果你想通過謂詞來搜索,使用.indexWhere(f)
:
val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.size <= 3)
這將返回1,因爲「有」是最多3個字母的第一個單詞。
'.indexOf'也適用於Array –