【问题标题】:scala - Find a pair in a list only with first element valuescala - 仅在列表中查找具有第一个元素值的对
【发布时间】:2017-05-03 14:37:42
【问题描述】:

假设我们有一个类似的列表:val list = List((1,'o'), (3,'t'), (10, 't'), (7, 's'))

那我想找第一个元素是10的pair,忽略第二个元素是什么。

如何找到该对或该对的索引?

我试过list.indexOf((10,_))list.indexOf((10,???))等等。然而, 如您所知,这些尝试都是错误的。

欢迎任何建议:)

【问题讨论】:

    标签: scala list dictionary


    【解决方案1】:

    使用indexWhere查找索引:

    list.indexWhere(_._1 == 10)
    

    如果你想要这对你可以使用find:

    list.find(_._1 == 10)
    

    请注意,find 返回一个选项,因为它可能找不到任何元素。如果要返回默认值可以使用getOrElse,否则需要处理未找到的情况:

    list.find(_._1 == 10).getOrElse(/* default value */)
    

    【讨论】:

    • 非常感谢!这就是我想要的。
    猜你喜欢
    • 2012-05-22
    • 1970-01-01
    • 2011-04-08
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    相关资源
    最近更新 更多