查找列表标量中元素的索引

时间:2013-07-26 05:37:21

标签: list scala

如何在Scala列表中找到元素的索引。

val ls = List("Mary", "had", "a", "little", "lamb")

如果我要求“小”的索引,我需要得到3

3 个答案:

答案 0 :(得分:73)

scala> List("Mary", "had", "a", "little", "lamb").indexOf("little")
res0: Int = 3

您可以尝试下次阅读scaladoc for List。 ;)

答案 1 :(得分:36)

如果要按谓词搜索,请使用.indexWhere(f)

val ls = List("Mary", "had", "a", "little", "lamb","a")
ls.indexWhere(_.size <= 3)

返回1,因为“had”是第一个包含最多3个字母的单词。

答案 2 :(得分:33)

如果您想要包含“a”的所有索引的列表,则:

val ls = List("Mary", "had", "a", "little", "lamb","a")
scala> ls.zipWithIndex.filter(_._1 == "a").map(_._2)
res13: List[Int] = List(2, 5)