Как найти индекс элемента в списке 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. ;)
Если вы хотите список всех индексов, содержащих "а", а затем:
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, поскольку «было» - это первое слово с не более чем тремя буквами.
'.indexOf' также работает для Array –