首页 文章

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

提问于
浏览
38

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

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

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

3 回答

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

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

  • 30

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

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

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

  • 32

    如果你想要包含“a”的所有索引的列表,那么:

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

相关问题