如何查找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 –