scala - 仅使用第一个元素值在列表中查找对

时间:2017-05-03 14:37:43

标签: scala list dictionary

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

然后我想找到一个第一个元素为10的对,忽略第二个元素是什么。

如何找到货币对或货币对的指数?

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

欢迎任何建议:)

1 个答案:

答案 0 :(得分:5)

使用indexWhere查找索引:

list.indexWhere(_._1 == 10)

如果您想要配对,可以使用find

list.find(_._1 == 10)

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

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