Comment trouver l'index d'un élément dans une liste Scala.
val ls = List("Mary", "had", "a", "little", "lamb")
J'ai besoin d'en obtenir 3 si je demande l'indice de "petit"
scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3
Vous pourriez essayer de lire scaladoc pour la liste la prochaine fois. ;)
Si vous souhaitez rechercher par un prédicat, utilisez .indexWhere(f)
:
val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.size <= 3)
Cela renvoie 1, car "had" est le premier mot avec au plus 3 lettres.
Si vous voulez une liste de tous les index contenant "a", alors:
val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)